A more defensive InternalPoolImpl.Dispose implementation