Anyway I also don't have an iPhone 4, but FaceTime for OS X shows the camera view whenever it's on so that you can see yourself whenever starting a call. I imagine FaceTime for iOS does something similar.
If you combine those two things, you get one possible explanation for what's going on. One that's pretty benign, but should probably still be avoided because it obviously spooks users. Oh, and it should probably be at the API level so that the last thing an app saves is never camera data.
A: It's front-facing, so it's never of me.
B: The phone is completely worthless, so it never takes decent photos anyways. (Generally of my pocket.)
The only reason people are spooked is that Apple has higher expectations (also, tribal instinct). My buddy's Nexus phone module will crash constantly, requiring a reboot before use of the camera. His response: "Eh, whatever."
Apple's no golden child, as this bug demonstrates, but they're orders of magnitude better. HTC probably would've just let it be, in all honesty.
Apparently one camp or the other is fairly touchy.
3rd-party apps can display a single static image (default.png) on boot. It is common for this image to be a screenshot of the UI without any content (e.g. nav bar, toolbars, but no buttons or data) in order to give the impression of a faster/more-progressive loading process.
I don't know how it is implemented under the hood, but Facetime on iOS does not appear to be a separate app (from the user perspective, at least). Someone who has jailbroken their phone and inspected the filesystem may be able to speak to this point more directly.
Fast app switching, depending on memory availability, does sometimes freeze an app and save state to stable storage. It's possible that this is a source of the rogue image data. A quick test with Instagram suggests that the camera is disabled when an app is "backgrounded." Perhaps Apple's built-in apps (e.g. Phone, Facetime) behave differently.
But this is at the OS level, an app has no control over it, and it's irrelevant for the whole camera thing.
He noted that was a trick the built-in apps use, that third party apps cannot. IIRC it was in the context of wishing that third party developers were allowed to do the same thing.