No, there's no chance of that. It's safe to do - the
MemoryStream keeps a strong reference to the byte array.
I'll see if I can find any documentation about guarantees...
EDIT: Sort of...
The buffer is still available on a
MemoryStreamonce the stream has been closed.
Admittedly that doesn't guarantee it for
Dispose, but that's documented to call
MemoryStream.Dispose(bool) could then be overridden to release the array, but it doesn't in my experience, and it would be a breaking change at this point.