public void Push(ref byte[] buffer) { byte[] data = Interlocked.Exchange(ref buffer, null); if (data != null && data.Length == Size) { pool.Push(data); } }