Before you can fix a memory problem, you need to identify which kind of memory problem you have.These are the problems you're most likely to encounter, with a list of symptoms to help you recognise them: 

Problem: Large object heap fragmentation

Symptoms:

Problem: Unmanaged memory leaks

Symptoms:

Problem: Managed memory leaks

Symptoms:

Problem: Excessive overall memory usage

Symptoms:

If you aren't familiar with memory profiling, you might find our .NET Memory Primer useful before you start.