I personally choose a very simple method of using Rule Machine to automatically reboot my hub at 5:15AM on Saturday mornings. This timeframe avoids the hub's automated maintenance tasks that typically occur at around 2am to 3am, and my whole family is typically still asleep. I choose Saturday as I am typically home that day to resolve any issues should things not go well (note: this has not been an issue to date.)
Here is a thread discussing how to implement the RM Rule action.
I personally would rather perform a weekly reboot at a predetermined time versus waiting until the hub's resources get too low. While I think it is pretty cool to have the hub check its free memory and then reboot, I would hate for that to occur in the middle of the day, when users are depending on the home automation. YMMV, of course.