Kept quiet checking this thread to see how the story develops, but I feel I need to chip in few things now..
- In my experience, what's causing battery drain, and high usage over night, where there was actually no usage are rouge network connections, open sockets that attempt to send data but for whatever reason, either don't understand the answer or the process controlling them is hanged. These connections, when in buggy, indefinite "usage" mode are easy to spot in any netstat utility as they will not switch over from 3G/UMTS to wifi when wifi is enabled. Everything else active will jump over, but one, rouge connection will stay behind with open socket time listed as 20+ minutes to several hours.
- The solution to the problem is the same every time, and in a way - just about every solution posted on this forum to date does the same, if via somewhat long way around method. You need to kill all network connections and get the service/daemon causing this drain to restart polling/submitting/whatever-it-is-it's-doing. A simple hard reset/reboot will do. You can go the long way around and do full OS reinstall, restore etc etc, reset network settings, disable all data, etc - the "cure" is the same - reset all network connections, all services/daemons regain sanity and drain is gone. You can also try and wait it out - disconnect all network connections - wifi/cellular data for long enough and every active thing trying to open net socket will eventually reset itself and work properly again. Trouble of course is - sooner or later you'll open something and that something will hang and start draining again.
On my phone reboot before I go to bet is a guaranteed solution to finding that the phone had a peaceful stand by and very little "Usage" counter stat in the morning and battery drain is perhaps 1-2% over 6 hours.
I can't tell you which of the services/daemons is causing this. I don't know. Maybe all of them are equally prone to hanging, maybe it's the watchdog process looking after them, but I can tell you this much - in my experience the "hanged" connection causing drain is most likely to happen when you travel between cellular masts - if I take my phone off the charger and reboot before jumping in my car and travelling 50 miles on the motorway, after I reach the other end of my journey, the "Usage" counter is almost as high as "Stand By" figure. If I keep it on the charger all the way, then reboot before entering my office, after 8 hours of just being in one room, the "usage" is very low and so is the battery drain. Just that this time around, the phone doesn't need to keep searching for data signal. Some of you will say it is logical that a phone moving quickly between masts shows "Usage" all the time, but consider this - iphone 4 with 4.3* soft doesn't do it at all. It travels without Usage constantly growing during 100% of the journey/
There is also additional piece of the puzzle - in UK, we have two cellular providers Orange and T-Mobile merging into one giant provider at the moment, and their "merged" masts and infrastructure is available to clients of both providers via "internal roaming". At home the mast of my primary network - T-Mobile - is about 700 yards away in straight line and mast of the "merged" co-provider - Orange. Sometimes, only sometimes, if I switch networks manually, from T-Mobile to Orange, I get fantastic 5 bar signal and fast data connection, then 3-5 minutes later 5 bars go down to 2, then 0 and I get popup with "Network Lost - Your selected mobile network is no longer available" and then it switches back to T-Mobile masts. It is almost as if there was some sort service running in the background, checking sanity of data networks at all times, and because it becomes hanged when masts/providers-while-roaming are switched, it tells the phone to start desperately searching for alternative masts, and it looks as if my phone decides to drop the nearest mast and tries to connect to masts all over town instead until whatever tries to use stack on cellular data times out. If I reboot, then manually switch to Orange, the phone happily stays on Orange for entire weekend, without issues.
All of it, complete speculation, but you are welcome to test it on your own phones. Download netstat and observe it yourself.
I addition, there are couple of "oddities". On my phone, the connection that hangs in "open socket" mode for minutes and hours no end is always to bz.push.apple.com. Push services are disabled on my phone, I can only presume this is some sort of generic name used by all services/daemons on iphone. Why that connection has to be there at all times, I have no idea, but it is there, and it becomes hanged, you'll notice socket open time growing and as I said earlier - when it's hanged it won't switch over to wifi when you enable it and stay on cellular data.
When that connection is "hanged" in open mode and you have any kind of data monitor, you'll notice it's slowly leaking kb of data over night, even with every single program manually closed via double tap of home button.
You'll notice even with all applications closed and netstat open there is unexplained data polling going on where the phone constantly opens short bursts of connections to aggregator servers at apple, amazonaws and teliacarrier (which is odd in UK, where we have no telia) every few minutes.
When you experience battery drain, and you use any kind of task monitor, you'll notice that some applications never properly close. Once the drain starts on my phone, for example, the MobileMail process stays on the process list even if I manually close it by double tapping home button and killing it with (-) sign. It's not there after hard reset of the phone. That looks to me like any of the services might be equally prone to being kept open by net connections and sockets not exiting and just runs forever in the background.
Take it away forum - check netstats and monitors on your phones and see if we are onto something there...