Memory Management in .NET is a broad topic with a lot of 'mysteries' that come with it. Heavy memory usage as well as frequent allocations affect the performance of your application because lots of time is spent by the Garbage Collector to free up space in the individual Heap Generations. It's a good practice to monitor your applications memory behavior.