Indy error 10038 "Socket-Vorgang bei Nicht-Socket" nach 61 Sekunden Inaktivität

Ich möchte einige große Dateien (GB) von einem FTP-Server herunterladen. Der Download der ersten Datei funktioniert immer. Wenn ich dann versuche, die zweite Datei abzurufen, erhalte ich:

"Socket-Fehler Nr. 10038. Socket-Vorgang bei Nicht-Socket."

Der Fehler ist auf "Get". Nach 'Get' werden folgende Meldungen angezeigt (per FTP-Statusereignis):

   Starting FTP transfer
   Disconnecting.
   Disconnected.

Der Code sieht folgendermaßen aus:

{pseudo-code}
for 1 to AllFiles do 
 begin 
   if Connect2FTP then 
    begin
     FTP.Get(Name, GzFile, TRUE, FALSE);  <--- Socket operation on non-socket" error (I also get EIdConnClosedGracefully 'Connection Closed Gracefully' in IDE, F9 will resume execution without problems, but this is OK)
     Unpack(GzFile); <--- this takes more than 60 seconds
    end;
 end;
if FTP.Connected
then FTP.Disconnect;

-

function Connect2FTP(FTP: TIdFTP; RemoteFolder: string; Log: TRichLog): Boolean;      
begin
 Result:= FTP.Connected;
 if NOT Result then
  begin         { We are already connected }
   FTP.Host    := MyFTP;
   FTP.Username:= usr;
   FTP.Password:= psw;

   TRY
    FTP.Connect;
   EXCEPT
    on E: Exception DO

   Result:= FTP.Connected;
   if Result then FTP.ChangeDir(RemoteFolder); 
  end;
end;

Voller Code hier:http: //pastebin.com/RScj86R (PAS) oder hierhttps: //ufile.io/26b5 (POSTLEITZAHL

Ich denke, das Problem tritt auf, nachdem 'Unpack' aufgerufen wurde, was einige Minuten dauert.

UPDATE: CONFIRMED: Das Problem tritt nach dem Aufruf von 'Auspacken' auf. Ich habe den Anruf entfernt und alles ist in Ordnung. Wenn Sie das Programm zwischen den Downloads für eine Weile pausieren (Schlaf- oder Haltepunkt) (ich glaube, länger als 60 Sekunden), tritt das gleiche Problem auf.