Releases the unmanaged resources used by the System.Threading.SemaphoreSlim, and optionally releases the managed resources.
Unlike most of the members of System.Threading.SemaphoreSlim, SemaphoreSlim.Dispose(bool) is not thread-safe and may not be used concurrently with other members of this instance.