public void Enqueue(Envelope envelope) { Monitor.TryEnter(_lock, BlockTimeOut); try { LockedEnqueue(envelope); } finally { Monitor.Exit(_lock); } }