I doubt rooting alone would do anything to solve your problems.
There are many fixable causes (other than hardware failure, not fixable).
I would say logical first step is investigate thoroughly. Things such as:
Does your device run hot?
How does your free memory look?
Look at what shows in settings/applications/running services (not running applications). Is there anything that always restarting (shows low number for time since restarted)
It could be memory problem, or settings problem, or problem with just one program and the way it's acting. There are tools to track that down. Personally I use Powertutor and it shows iff one program is hogging a lot of cpu.
I'm not saying it's required by any stretch, but if you flash a custom rom (after rooting), you would typically first backup everything (nandroid backup), then wipe your existing internal memory. That has a pretty good chance of removing most benign (non-hardware) causes. Then when you put back your programs, do them one at a time (maybe one a day). If problems pop up, look closely at the program you just put back.
I'm no expert (just rooted, no custom rom yet). Just some thoughts fwiw