The .NET garbage collector provides a high-speed memory allocation service and promises to minimize if not eliminate the work associated with managing your applications memory. However, this benefit comes with a cost that is not always easy to quantify. When it is ignored it has the potential to drastically reduce your application performance and in extreme cases introduce memory leaks that can be hard to find.<br/>
In this session I will do a review of .NET memory management and introduce the IDisposable pattern. I will then show several techniques to analyze when this pattern is needed, examine some common patterns that have the potential to create memory leaks and how to avoid these mistakes.<br/>
Lastly I will show some techniques for identifying when you have problems with memory thrashing and how to narrow down problems with memory leaks.