Android manages memory and will save state of and close apps running in the background as needed when newer apps are launched. With some exceptions, almost all apps are suspended when they are not in the foreground. You really don't have to sweat closing apps.
+2
Indeed true - theoretically.
This behavior is INTENTIONAL. It is done so that Android appears as if is a giant multitasking machine with unlimited memory. So, when you go back to an app, it appears to be exactly where you last left it. Some people find this uncomfortable, because that's not the way that applications on other computers behave - but when you get over that unfamiliarity, you start to realize - "Hey, this is the way that ALL programs on ALL computers ought to behave!"
The fact that it appears this way does not mean that the app is consuming resources - up to a point. (It can consume memory without stealing any CPU cycles)
The "theoretically" part is that the apps are not forced to save their state until such a time as the built-in Android "low memory killer" forces them into this "saved state/hibernation mode" - and so, in fact, the phone can get somewhat slower before the "low memory killer" kicks in and does this, depending on the threshold values used for free memory.
That's why many custom ("dev") ROMs use larger values for setting the behavior of the built-in Android low-memory-killer: they kick apps out of virtual memory faster. More memory is left over for file caching operations, and this makes the phone less sluggish (at the same clock frequency). The downside of this is that sometimes apps like your home screen manager get kicked off - and the user has to wait a little bit longer while they reload ... back to the last state you had them in.
eu1