The garbage collector in .NET is inherently lazy. This is its best characteristic. Yes, you heard me correctly-- its best characteristic. If the collection algorithm constantly caused memory to be freed, you see a significant decrease in performance of your application. Instead, the GC frees memory only when it needs to be freed and I assure you that's not as often as one would think. If you have 3 .NET applications taking up 60MB of memory on a system with 256MB (which is measly nowadays), I don't really see the problem, as there isn't one. If other applications need memory the GC will free up what is needed and that's the end of it.
As it stands now I have Mozilla, Internet Explorer and Microsoft Document Explorer open on my system. Each of them is taking up 25MB+. Does it matter? Not at all, and they're not even running on .NET. The point is these applications are taking up the same amount of memory as your .NET applications-- and more importantly vice-versa.