Другой подход здесь будет:
string fileName = "file.txt";
int bufferSize = 4096;
var fileStream = System.IO.File.Create(fileName, bufferSize, System.IO.FileOptions.DeleteOnClose)
// now use that fileStream to save the xslx stream
Таким образом, файл будет удален после закрытия.
Edit:
Если вам не нужен поток, чтобы жить слишком долго (например: только одна операция записи или один цикл для записи ...), вы можете, как предлагается, обернуть этот поток в блок using. При этом вам не придется утилизировать его вручную.
Код будет выглядеть так:
string fileName = "file.txt";
int bufferSize = 4096;
using(var fileStream = System.IO.File.Create(fileName, bufferSize, System.IO.FileOptions.DeleteOnClose))
{
// now use that fileStream to save the xslx stream
}