public void ActivateWithDoesNotRetainChild() { var child = new Screen(); child.ActivateWith(this.parent); var weakChild = new WeakReference(child); child = null; GC.Collect(); ((IScreenState)this.parent).Activate(); Assert.Null(weakChild.Target); }