private void DisposeOfMRE(ManualResetEvent mre) { lock (this.cache) { if (this.cache.Count < MAX_QUEUE_SIZE) { mre.Reset(); this.cache.Enqueue(mre); } else mre.Dispose(); } }