Cómo usar IDisposable para reparar pérdidas de memoria

Tengo una aplicación .net que parece tener problemas de pérdida de memoria. El servicio .net comienza alrededor de 100 MB de memoria, pero bajo carga alcanza alrededor de 400-500 MB. La mayoría de mis clases no tienen recursos no administrados, y los que ya implementan IDisposable. ¿Entonces mi pregunta es si abofetear a IDisposable en mis clases ayuda?

El 4-500 MB no es preocupante. La preocupación es que hay 8 servicios diferentes. Cada uno está construido con SharpArch, NServiceBus, Windsor y NHibernate. Mi sensación es que hay algo en uno de estos que está causando un problema. Mi preocupación es que la memoria total de todos los servicios es de alrededor de 3.2 a 3.6 gigas de memoria de 4 gigas. Todavía no arroja excepciones OutOfMemory, pero me gustaría evitar esto en el pase. También he usado dotTrace, que me da información, pero no estoy seguro de cómo actuar sobre esa información

Respuestas a la pregunta(5)

Su respuesta a la pregunta