public override void Dispose() { if (_child != null) { ObjectInstance.Tree.RemoveKey(_child.WrappedObject); _child.Dispose(); } using (NotificationGate.BeginOutbound()) { ObjectInstance.ClearValue(ClassProperty.DependencyProperty); } _depProperty.Dispose(); }