Know your gear
Automatic memory management in .NET makes development a lot easier; however, it's still easy to introduce memory leaks into your application. For example, in a complex application, it's easy to forget to unregister event handlers, and these are notorious for holding on to objects which you don't need to keep in memory any more. This typically leads to an increase in memory usage, which can lead to your application exhibiting poor performance, or even running out of memory and crashing, if it remains unchecked and unresolved. This is where a memory profiler becomes necessary.