My non-jailbroken iPhone 4, 8 GB, iOS 5.0 never worked quite right from the beginning. It was slow and unstable, requiring a reboot every other day. Then it started acting really blah and failing to open the photo app along with the camera making weird blank black photos. It got bad when it started failing to open all kinds of various apps. Also, the Windows photo/scanning wizard couldn't see it, so I am guessing there was a file system problem maybe.
I decided that since the nearest Apple store is like 2 hours away that I better start with an iOS reload. However, I didn't want to upgrade to 5.0.1 and iTunes would not let me restore to factory as 5.0 or load the 5.0 ipsw manually, despite hack attempts. (It was trying to force me to upgrade.)
Running out of time for research, I decided that it was worth a try to use Settings>General>Reset>Erase All Content and Settings. This of course deletes all of your data and so I backed up what I could first. So...yes! This actually has fixed my problem and the phone is behaving quite nicely now!
Sorry, Apple. I got around upgrading the iOS...Ha...!