В ваших мнениях, лучше ли вернуть вновь выделенный поток памяти из функции или передать ее в функцию? Например,
void Foo(MemoryStream m)
{
m.Write(somebuffer, 0, somebuffer.Length);
}
или
void MemoryStream Foo()
{
MemoryStream retval = new MemoryStream();
retval.Write(somebuffer, 0, somebuffer.Length);
return retval;
}