comportamento estranho WeakReference no Mono

O código de teste que usa o WeakReference falhou para mim usando o Mono 2.11.3 (SGen), bem como a versão estável do 2.10.8. Em um código simples como este

object obj = new object();
WeakReference wr = new WeakReference(obj);

Assert.IsTrue(wr.IsAlive);

obj = null;
GC.Collect();

Assert.IsFalse(wr.IsAlive);

a segunda afirmação falhará. Adicionando GC.WaitForPendingFinalizers não ajuda. Isso é um bug no Mono ou na minha cabeça? obrigado

questionAnswers(2)

yourAnswerToTheQuestion