Unidad que prueba pérdidas de memoria

Tengo una aplicación en la que hay muchas pérdidas de memoria. Por ejemplo, si abro una vista y la cierro 10 veces, mi consumo de memoria aumenta porque las vistas no se limpian por completo. Estas son mis pérdidas de memoria. Desde una perspectiva basada en pruebas, me gustaría escribir una prueba que pruebe mis fugas y (después de arreglar la fuga) afirmando que la arreglé. De esa manera, mi código no se romperá más adelante. En resumen:

¿Hay alguna manera de afirmar que mi código no está perdiendo memoria de una prueba unitaria?

p.ej. ¿Puedo hacer algo como esto?

objectsThatShouldNotBeThereCount = MemAssertion.GetObjects<MyView>().Count;
Assert.AreEqual(0, objectsThatShouldNotBeThereCount);

No estoy interesado en perfilar. Utilizo el perfilador de hormigas (que me gusta mucho) pero también me gustaría escribir pruebas para asegurarme de que las "fugas" no vuelvan

Estoy usando C # / Nunit pero estoy interesado en que alguien tenga una filosofía sobre esto ...

Respuestas a la pregunta(6)

Su respuesta a la pregunta