I had the same problems after installing iOS5 on 3GS. Phone was warm to touch, battery losing at least 11% charge every hour when not being used! 100% would only last 6-7 hours max!!
Turn off Wifi and then check how much Mobile Network data is being used over a certain number of hours.
Settings > General > Usage > Mobile Usage > Reset Statistics
Then after a few hours see how much data is being used.
My phone would send 23MB and receive about 25MB in 24hours - even when i didnt use the phone!
I tried everything: new phone, restore as new and always the same problem, turning off location servs, and notifications.
I have MS Exchange email on this phone and since iOS3 i always had Fetch New Data (General > Mail, Contacts, Calendars) = "Push" with no battery problems.
But on iOS5 + 3GS i think there is a problem with the Push setting.
Last week I changed Fetch New Data to Off and Manually Fetch for all email accounts - and now my phone is cold to touch, and only sending about 3MB in 24hours. Battery is now lasting more than 36hours!!!
Now i have got location services and notifications switched on again (but only for important apps - not on for all 70+ tho!)
I hope this helps XD
Peace