JetBrains также имеет профилировщик памяти: dotTrace Memory . Я получил это, но не использовал это достаточно, чтобы дать рекомендацию. Это также не бесплатно (если вы не выиграли лицензию в группе пользователей). :)
Я бы также проверил, чтобы все объекты, классы которых реализуют IDisposable, были правильно расположены. Блок using
обеспечит это, даже если произойдет исключение. Хотя это связано с неуправляемыми ресурсами, а не с памятью, на практике может быть небольшая разница.
См. Также Обнаружение «утечек» IDisposable объектов , в которых упоминается несколько профилировщиков памяти.