protected override void DisposeOfManagedResources() { if (this.source != null) this.source.RemoveListener(this); if (this.onDispose != null) this.invoker.BeginInvoke(this.onDispose); }