Escribir en un archivo con StreamWriter es mucho más lento que copiar archivos en una red lenta

Tengo un programa que intenta escribir una gran cantidad de texto en un archivo en un servidor remoto en el extranjero, que tiene una conexión de red lenta.

Usando el siguiente código, dondeoutputFileContent es unStringBuilder:

using (var outfile = new StreamWriter(myRemoteFilePath))
{
    outfile.Write(outputFileContent.ToString());
}

tarda mucho tiempo en ejecutarse (varios minutos), mientras que si primero escribo en un archivo local y luego lo copio en la ubicación remota, es mucho más rápido (20-30 segundos):

string tempFilePath = Path.GetTempFileName();
using (var outfile = new StreamWriter(tempFilePath))
{
    outfile.Write(outputFileContent.ToString());
}

System.IO.File.Copy(tempFilePath, myRemoteFilePath, true)

¿Alguna idea de por qué esto está pasando? Mi única conjetura es que es algo que tiene que ver con el almacenamiento en búfer en la red, o tal vez porque el creador de flujos no sabe qué tan grande necesita estar adelantado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta