Not everything you see in the multitasking bar is a running app. They are "running" as in using CPU time if they are currently using one of the 7 background APIs like audio.
They are in memory, ie, using some of that 512mb ram if they have been closed recently. Meaning that the last number of apps that could fit into the 300mb of free ram you had are there still in ram, they have no running processes but their resources are in ram so if you launch them again and "resume" them then they don't have to reload everything into memory. As new apps are launched that need memory, old ones are kicked out to give the new ones the memory they need.
The rest of the list, the other 20-100 or so apps you see there are essentially just that, a list. Its like the history in a web browser, these apps aren't open, running, or sitting in ram its simply a list in the order you've used them from most recent to least recent.
If you want to kill apps, you can either restart the phone which dumps all the apps from ram and starts fresh with 300mb free (a couple hundred is used by the OS by default) or you can just force close the last 2-10 on that list and then everything will be fully removed from memory.
The issue is that the multitasking bar shows apps in 3 different states but doesn't distinguish between which state they are in. Either Running (MT API using CPU), in Memory (taking up space in RAM), or just recently launched (think history.)
This is the best explanation I've found online, check it out.
http://whenwillapple.com/blog/2010/04/19/iphone-os-4-multitasking-explained-again/
As far as performance issues I have noticed that starting a very memory intensive game such as Infinity Blade will lag as the OS starts clearing memory for it. I have noticed that some apps will lag while others are doing things like when mail starts checking mail while you're launching a game etc. I have noticed that some poorly coded 3rd party apps either have memory leaks or issues with how they use those 7 APIs or just all around get stuck requiring a force close.
As far as a task killer, one does exist, the whole hold down click the (-) to close apps thing in the MT bar but there is not task manager that is user accessible so to speak. The idea I think is that you can still use the phone as if it were iOS 1.0 if you wanted and ignore any new features or use all the new features. Basically, it's kept simple so someone who learned the very basic start app, home button, start other app function doesn't need to worry about what double clicking the home button does. They may notice some of their apps start faster after the first time they use them (resume) but other than that they don't have to learn anything new. I think that is the goal, that anyone can pick up any iphone running any os version and essentially use it the same basic way it used to work without the confusion of "why did pandora stop when i closed it" going on.