It looks like something closes the FTP control connection after 3 minutes. This sometimes happens with badly behaved firewalls or routers that silently close the main (control) FTP connection because of inactivity, even though the main FTP connection is actually supposed to be inactive while the transfer is in progress (it uses a separate TCP connection).
Rebex FTP includes a workaround for this issue, but it doesn't work reliably with all FTP servers so it's disabled by default. To enable it, use this code:
C#:
client.Options |= FtpOptions.KeepAliveDuringTransfer; // send dummy NOOP commands
client.KeepAliveDuringTransferInterval = 120; // do it every 120 seconds
VB.NET:
' send dummy NOOP commands
client.Options = client.Options Or FtpOptions.KeepAliveDuringTransfer
' do it every 120 seconds
client.KeepAliveDuringTransferInterval = 120
(where "client" is your instance of Ftp
object)
Does enabling this help?