From the server log record ("Did not receive identification string from..."), I assume you are connecting to an SSH/SFTP port (22) using an FTP protocol.
Make sure the application B really supports SSH/SFTP and that you selected that protocol in its configuration (as opposite to entering port 22, but using FTP protocol).
Make sure you did not confuse SFTP with FTPS (FTP over TLS/SSL).
When opening an SSH/SFTP connection, the server sends its identification string (like "SSH-2.0-OpenSSH_5.3") to what the SSH/SFTP client responds with its identification string (like "SSH-2.0-WinSCP_release_5.6.5").
If you connect to an SSH/SFTP server with an FTP client, the FTP client expects an FTP welcome message and keeps waiting for its ending line before sending any commands. It gets the SSH identification string instead. Depending on the FTP client implementation, it either aborts upon recognizing that the SSH identification string is not valid FTP message; or timeouts waiting for the ending line of the FTP welcome message. Of course, unless the SSH/SFTP server happens to timeout first, waiting for client's SSH identification string. What probably happened in your case.
I was able to reproduce your problem by connecting to port 22 of OpenSSH SFTP server using WinSCP client configured to use FTP protocol (but SFTP port 22).
It's confusing that you tagged your question with proftpd, while the log record ("Did not receive identification string from...") is produced by OpenSSH server.