Для меня главное преимущество потока памяти в том, что он динамически увеличивается и оптимизирован для этого. - это боль в том, что приходится копировать его и дублировать память, но если вы используете его в первую очередь, это создание буфера для передачи в конце процесса, этот недостаток несколько амортизируется.
Я должен добавить, что в отличие от FileStream, MemoryStreams намного, намного быстрее. Они более ограничены по размеру, чем FileStreams, потому что у вас обычно намного больше дискового пространства, чем RAM. Таким образом, вы должны решить, нужна ли вам скорость или пространство.