Encontrar a verdadeira pegada de memória de um aplicativo Windows

Encontrei algumas OutOfMemoryExceptions com meu aplicativo C # / WPF e estou com alguns dados confusos ao tentar criar um perfil do uso da memóri

Quando o aplicativo normalmente está em execução, o Gerenciador de Tarefas do Windows mostra o uso da memória em torno de 34 MB (oscila levemente à medida que os objetos são criados e o lixo coletado). Quando executo aplicativos de criação de perfil de memória, comoCLR Profiler edotTrace Memory, eles mostram o uso total de memória em cerca de 1,2 M

Por que essa enorme discrepância? O que o Gerenciador de Tarefas vê que esses criadores de perfil nã

ATUALIZAR Adicionei algum código diag ao meu aplicativo para imprimir várias informações de memória de vez em quando através da classe Proces

Ao executar meu aplicativo, configurei uma regra em DebugDiag para executar um despejo de memória no caso de uma exceção. Eu forcei uma exceção e ocorreu o despejo de memória. Nesse ponto, o uso de memória do meu aplicativo (como mostrado pelo gerenciador de tarefas) saltou de 32 MB para 145 MB e permaneceu l

Você pode ver este salto na tabela abaixo (WorkingSet64). Ainda estou tentando entender todos os tipos de informações de memória fornecidas pela classe Process. Como um aplicativo externo faria o conjunto de trabalho do meu aplicativo crescer dessa maneira?

Link para a tabela de dados aqu

questionAnswers(2)

yourAnswerToTheQuestion