I have started making a habit of clearing out background apps from time to time (which is actually a bit of an annoying chore) but I'm not convinced that it's made any difference. You make a good point though that it would be worth checking which apps are running each time a crash occurs - I'll give that a try.
Unfortunately it's hard to really know which apps are actually 'running' in the background anyway. It's my understanding that when you double-tap the home button the active apps that appear are not necessarily doing anything unless there is some specific thread of activity that the app is designed to perform in the background.
I was hoping that there may be some hardware self check app available, but I suspect that App Store rules may prevent apps from making low level hardware calls. I'll do some research on that anyway.
This is something that really annoys me about iOS. I regularly have people bring their iPhones to me asking why it's freezing or crashing. 99% of the time it's because they have pretty much all the applications open/suspended/cached.
When double tapping the home key there's usually 20+ applications in there and I have found it causes various issues. I don't use an iPhone myself (not as my regular phone at least), but I have seen issues such as the dialler not working, touchscreen becoming unresponsive, unable to send text messages, gallery not displaying photos correctly, and a few others. Clearing out the running/suspended apps almost always fixes the issue.
I have an iPhone 4 that I have refurbished and just have for modding and playing around with. I installed an activator command to clear out the background applications. I have it mapped to the volume down key, so I just hold down on that and it clears all of them. Probably THE most useful mod I have put on it so far.