public void AddDisposable_ThenFinalize()
        {
            var objA = new TestDisposable();
            var objB = new TestDisposable();
            var pool = new DisposablePool();

            pool.AddDisposable(objA).Should().BeSameAs(objA);
            pool.AddDisposable(objB).Should().BeSameAs(objB);
            pool.DisposeUnmanaged(); // simulate finalizer

            // Does not dispose managed resources during finalization
            objA.IsDisposed.Should().BeFalse();
            objB.IsDisposed.Should().BeFalse();
        }