1) FTP and FTPS are completely different protocols to SFTP, and in some ways inferior.
For every data transfer (which includes directory listings), FTP/S consumes a new socket. There is a very finite limit to the number of sockets available, and hence you have to be very careful doing simultaneous downloads. The best approach is to use a connection pool and process a queue of requests.
Also, many FTP servers will limit the number of connections possible by one user.
SFTP uses a single channel for commands and data, and doesn't create new channels per data transfer, hence it doesn't have these problems.
edtFTPj/PRO 2.0 will have a connection pool and support asynchronous requests - expect it out by the end of this quarter. This will help to avoid this issue.
2) This is probably the result of the server implementing the FTPS protocol badly. Try
ftp.setConfigFlags(SSLFTPClient.ConfigFlags.DISABLE_SSL_CLOSURE)
If it is occuring for FTP (not FTPS), use quitImmediately() instead of quit().