This topic has been pretty well beaten to death on various forums. Suggest
you hunt through some archive posts and review this topic.
The short answer is that what you are likely seeing is not nearly so bad as
it appears. First, the garbage collector frees up objects when it actually
*needs* the memory, not necessarily at the first possible moment it *could*
be freed. Secondly, Window Task Manager does not reflect the freed up
memory right away either. That is why if you minimize a .NET app the Task
Manager will suddenly show a lot more free memory. That is the point at
which (1) Windows decides it's a good time to reclaim free memory and (2)
Task Manager gets notified of that fact.
To determine how much memory is REALLY being used, look at the working set,
not the Task Manager.
--Bob