This is generally because the FTP server has not correctly responded to the standard SSL/TLS closure exchange sequence. This causes the client to wait for a signal that never arrives. The client can be prevented from waiting by setting DISABLE_CONTROL_WAIT_ON_ CLOSE:
SSLFTPClient ftp = new SSLFTPClient();
ftp.setConfigFlags(SSLFTPClient.ConfigFlags.DISABLE_CONTROL_WAIT_ON_CLOSE) :