Как вы обнаружили утечку? Иногда использование mem увеличивается в диспетчере задач и не освобождается немедленно, возможно, из-за того, что GC не работает сразу или у вас есть пул или дескриптор соединения, которые еще не были освобождены в управляемой среде. Я предлагаю вам использовать профилировщик памяти, такой как ANTS Mem Profiler, предложенный Travis. Вы можете получить пробную версию, в противном случае используйте базовую версию от Microsoft CLRProfiler.
Еще одна хорошая мера, если загружать процесс так, чтобы он выполнялся дольше во время процесса профилирования, чтобы при наличии проблем он был четко показан. Самое простое - обернуть его так, что, скажем, выполнить вышеописанное 1000 или более раз. Вы также можете использовать монитор производительности, чтобы отслеживать некоторые интересующие вас счетчики и видеть, как они отслеживаются во время выполнения.