public void DisposeAndClear() { _lock.Write(() => { _objects.Values.Each(@object => { if (@object is Container) return; if (@object != null) @object.SafeDispose(); }); _objects.Clear(); }); }