/// <summary> /// Dispose all disposables in the tracker. /// If disposable is still alive alose <see cref="HostContext"></see>.Release() is called to release the object. /// </summary> public void Dispose() { foreach (var wr in disposables) { var disposable = (IDisposable)wr.Target; if (!wr.IsAlive) { continue; } HostContext.Release(disposable); } }