If you're interested in learning about memory management best practices in C-Sharp, I'll be doing a talk tonight at the Microsoft Alpharetta offices:

http://www.microsoft.com/mscorp/info/usaoffices/southeast/alpharetta.asp

... at this months the C# user group meeting:

http://www.atlantacsharp.org/

If you want to check out the slides for this talk, I uploaded them here:

http://www.aggelos.com/mmcs.zip

and if you're sitting there thinking "It's managed code, what in the world do WE need to manage?", well, here's the short answer. As long as you stay in managed space, the only things you need to understand are ValueTypes, Ref Types, and Boxing. If you call out to any unmanaged resource (think COM, databases, synchronization primitives, files, etc.) you need to do some cleanup yourself. This talk will cover that kind of stuff.

If you haven't attended a C# UG meeting yet, they're really good because it's not a presentation so much as a discussion. Very informal, and a lot of smart people show up, and just discuss technology.

Look forward to seeing everyone there.