<p>On large files (~200+ MB), I get the 503 error when I read the stream.</p>

<pre><code>ftp = (FtpWebRequest)WebRequest.Create(new Uri(address.AbsoluteUri + @"/" + file.Name));
ftp.Credentials = new NetworkCredential(username, password);
ftp.Method = WebRequestMethods.Ftp.DownloadFile;

response = (FtpWebResponse)ftp.GetResponse();
</code></pre>

<p>Any clues on what I'm doing wrong or a better practice for larger files?</p>

Do you receive the 503 after every attempt or only subsequent attempts?
Have you tried setting the disabling KeepAlive?
```
```
ftp.KeepAlive = false;
```
```
I would try a more rubust ftp client library, a basic free one can be at
sourceforge
.