Well i just got my phone replaced under warranty. Was having a problem with the home button not working . Im sure this is a refurb but i got the phone and charged it and let it run almost til it turned off and seems like excellent battery life compared to my old one . Watched 3 full movies from netflix along with texting and web browsing and game playing . Not much talking though . Here is a pic of the battery life.
I believe that the problem is how the new 4.3.3 releases app memory. I don't think it always does. This can be said for several previous versions as well. I have some screen shots I have taken that kind of show that unless you reboot your phone every couple days, it keeps tacking on PID's (Process ID's) to your processes.
In my "testing", I keep seeing a crash report. Turns out the Free Memory was causing that because it still "frees up memory for you". LOL - But my initial observation is that for every app you open, the OS gives it a new PID- even if you close it and reopen it. If you could see the PID's after a day or 2 of moderate use, you would see PID numbers in the quadrupedal digits, with regular system processes (the ones that never stop from boot) in the single and double digits.
The one thing that bugs me the most is that When I initially launch free memory, it shows where my current amount of free memory is. This is an iPhone 4. I generally keep my phone "clean" from having a lot of apps open (generally no more that 5-6 at a time) and you would think that the lowest my free memory would read is around 100-120MB. Try 11. Yes, you see that correctly. 11.23 MB this last time, and it's as I have suspected for a long time now. The OS is not properly releasing memory for apps once you have closed them in the task manager. This also explains why the PID's keep climbing.
I really hope that they fixed this bug in iOS5