(Этот вопрос довольно забавен, вызовите, я отслеживаю утечку мадам, которая не присутствует на моей машине...),
Судите профилировщика памяти как Профилировщик МУРАВЬЕВ.
Это - или код, данные или конфигурация.
Так как Вы говорите, что код не составляет дефектные 100% времени, я обвинил бы конфигурацию. Сделайте копию конфигурации (и дополнительно некоторые данные) и попытайтесь копировать проблему; Вы не будете знать, что нашли и зафиксировали его без воспроизведения.
Наконец, решите его с профилировщиком памяти.
Если у пользователя есть проблема это последовательно, возьмите stackdump и проанализируйте стандартным способом
Вот опция: Дайте им поле, где утечка не присутствует.
Иногда, это не код.
Править: Это - или код, данные или конфигурация.
Или Платформа.NET, ОС, драйверы, IIS или COM (автоматизирующий Excel, например), или скоро.
Мое предположение - то, что утечка памяти не восстанавливаема за исключением поля клиента (к которому dev нельзя позволить получить доступ для отладки).
PerfMon может быть полезным (http://dotnetdebug.net/2005/06/30/perfmon-your-debugging-buddy/). Существует несколько счетчиков, которые могут помочь сузить то, что ресурс пропускает, и в какой уровень, и т.д.