You have a misbehaving app. My N1 goes for weeks with no problems, and that's been the case with stock 2.1, CM5, and the Froyo-based CM6. Find the bad app and nuke it, rather than perpetually treating the symptoms.
To be fair though, this exposes a design flaw in Android. Technologies like protected memory and pre-emptive multi-tasking are supposed to prevent applications from gumming up the works. Along the same vein, we need some way to identify and limit the resource usage of apps on Android. So now I can go do binary search on my applications to see which one the bad one is, but am I supposed to tell my girlfriend to do that on my old g1? It's a BAD (broken as designed) issue with Android.