C # - FtpWebRequest - Múltiples solicitudes a través de la misma conexión / inicio de sesión

Quiero hacer un bucle en una carpeta FTP para verificar si un archivo ha llegado

Hago:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://localhost:8080");
request.Credentials = new NetworkCredential("anonymous", "");
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

while(true)
{
    using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
    using (Stream responseStream = response.GetResponseStream())
    using (StreamReader reader = new StreamReader(responseStream))
    {
        Console.WriteLine(reader.ReadToEnd());

        reader.Close();
        response.Close();
    }
}

Pero en la segunda iteración obtengo una excepción:

La transmisión no se puede leer.

Respuestas a la pregunta(2)

Su respuesta a la pregunta