Safe zero-copy operations in C#