Смею предположить, что имеется ввиду следующее:
1) Настоящая реализация должна использовать файловую систему для хранения файлов;
2) Ваша (чтобы не мусорить файлами на диске) хранит все эти байты в памяти.
Т.е. вы вместо FileRepository делаете MemoryRepositiory
Потому что Encoding.Unicode - это UTF-16 и в нём просто текст @#$^@ не эквивалентен тому же самому в байтах (можете попробовать сами сконвертировать этот стринг в байты). Скорее всего вам нужно использовать энкодер UTF-8.