It's the way Android works. The OS tries to fill the memory (to a certain threshold) with apps so that if you go to use one of those apps, access to it is near instantaneous vs. having to load it from storage in to memory. Holding an app in memory does NOT use any resources. 000000 takes just as much power to hold in memory as 110101 or 000011 or 010101 etc..... The apps aren't running, they are just prepped for access. You kill it (bypassing Androids default method of handling memory) and it will typically just reload that app back in to memory (now using resource to reload it) or reload something else (also using resources) to reach it's threshold of memory holding apps.
DO NOT USE TASK KILLERS. Again...that's just another resource using app that interferes with the default Android OS's way of handling apps/memory/resources making everything work worse. Free memory is not a "win" on Android....this isn't a Blackberry or Windows Mobile device.
If you need to kill a task, use the built in Settings/Applications/Running Services to see what is actually running (not just held in memory). Some services have to run (and if you are using widgets they'll be there as well) but you'll find a few that start because of their design. Skype, IM, BackupAssistant....these will start at boot...or if you run them. You can stop these running services and they should not restart until you use them or reboot the device.