I started resetting the system monthly, years ago before joining this forum. My reasoning for this was that I was not sure I was coding well enough to deal with millis() and allow it to rollover properly, among other things.
@rickkas7 posted a tutorial about properly coding to handle rollover: https://community.particle.io/t/millis-and-rollover-tutorial/20429
I adopted the techniques he and others talked about on the subject (thanks for that!). But, you know, I still kept performing the monthly reset in firmware, for the most part.
Another thing I do is enable an outOfMemoryHandler() and reset when an error flag occurs. Here is a posting which was valuable reading to me: https://community.particle.io/t/ram-space-running-out/63756
Thank you to all for the contributions!