In this presentation we review the basics of how the .NET garbage collector operates, and then tackle some best practices that can make the performance of your CLR-based applications improve considerably. For example, we look at garbage collection flavors (server GC, background GC, and others), large object allocations, and finalization. We also review ways to track object allocations and even resolve memory leaks using the PerfView tool.