Posso obter as instâncias de objetos vivos de um determinado tipo em c #?

Esta é uma questão do C # 3.0. Posso usar classes de gerenciamento de reflexão ou memória fornecidas pela estrutura .net para contar as instâncias vivas totais de um determinado tipo na memória?

Eu posso fazer a mesma coisa usando um profiler de memória, mas isso requer tempo extra para despejar a memória e envolve um software de terceiros. O que eu quero é apenas monitorar um certo tipo e eu quero um método leve que possa ir facilmente para testes unitários. O propósito de contar as instâncias vivas é garantir que eu não tenha nenhuma instância viva esperada que cause "vazamento de memória".

Obrigado.