/// <inheritdoc/> public void Dispose() { if (this.created == null) { return; } var local = this.created; this.created = null; foreach (var kvp in local) { (kvp.Value as IDisposable)?.Dispose(); } ConcurrentDictionaryPool <Type, object> .Return(local); ConcurrentDictionaryPool <Type, object> .Return(this.bindings); }