During a work trip, I was prompted to get back into recalling how memory management in .net works as my company found a bit of an issue when they migrated their codebase from .net 3.5 to .net 4.
Lots of searching on Google and reading of MSDN documentation helped me get back to speed on what I knew before and then I found an email from Redgate in my inbox. Those awesome folk have created a simple storyboard of how it works to make it easy to understand. This has been sent to all the developers on my team as this is a great resource.
I strongly suggest checking this resource out: Memory Management in .Net