public override void Dispose() { if (!isDisposed) { System.Runtime.InteropServices.Marshal.FreeHGlobal((IntPtr)buf); buf = null; isDisposed = true; } }