Como profanos en la materia empezamos nuestro estudio con nuestro amigo el Administrador de Tareas de windows. Un vistazo a la memória del proceso y al máximo de memória nos hacía pensar que alguna acción de nuestra aplicación hacia que la memória tubiera picos que después se recuperaban. En uno de estos picos, la aplicación acababa diciendo basta y empezaba a funcionar muy mal, llegando a cerrarse. Como primer paso no estaba mal, pero no teniamos ni idea de cómo solucionarlo.
Después de un rato navegando por internet buscando información sobre profilers nos decidimos a probar el windbg. Algunos artículos de los grandes Rodrigo Corral, Pablo Doval y David Salgado nos ayudaron a hacer nuestros primeros pinitos con la herramienta, pero todavía no eramos lo suficientemente hombres cómo para utilizarla correctamente, así que buscamos alguna otra manera de hacerlo.
Llegamos a este artículo de Ro

Lo que hacía la función era cargar un archivo en memoria para calcularle un MD5. Cómo esta operación se podia realizar a la vez en unos 50 ficheros que podian llegar a los 5MB, el incremento de memoria que tenia el sistema era preocupante. Modificamos esta función para no cargar todo el archivo y hacerla más liviana y el problema se vió reducido a la nada.
Esto es sólo el principio de lo que esperamos sea un aprendizaje de todas estas herramientas y de las entrañas del CLR. Intentaremos ir posteando nuestras experiéncias y las cosas que vayamos aprendiendo.
Saludos!