using System.Runtime.InteropServices; ReadOnlyMemory cached = new byte[1_048_576].AsMemory(0, 12); MemoryMarshal.TryGetArray(cached, out ArraySegment before); Console.WriteLine($"view:{cached.Length};backing:{before.Array!.Length}"); // The extracted segment is itself an owner; clear it before discussing release. before = default; cached = cached.ToArray(); MemoryMarshal.TryGetArray(cached, out ArraySegment after); Console.WriteLine($"copied-view:{cached.Length};backing:{after.Array!.Length}"); Console.WriteLine("This proves backing identity/length, not immediate collection or RSS shrinkage."); GC.KeepAlive(cached);