Is a memory leak created if a MemoryStream in .NET is not closed?
I have the following code: MemoryStream foo(){ MemoryStream ms = new MemoryStream(); // write stuff to ms return ms; } void bar(){ MemoryStream ms2 = foo(); // do stuff with ms2 return; } Is there any chance that the MemoryStream that I've allocated will somehow fail to be disposed of later? I've got a peer review insisting that I manually close this, and I can't find the information to tell if he has a valid point or not. If something is Disposable, you should always Dispose it. You should be using a using statement in your bar() method to make sure ms2 gets Disposed. It will eventually get