as far as I can tell this is explicitly disagreeing with your #3 requirement.
They are saying that many apps are badly written and so do things when they don't need to. So as a result, unless the app raises the suspend block, the system may decide to go to sleep, even if the app is busy doing things.