I posted about this issue in the users mailing list...
The consumeAndCheck() method of channel/Window.java is used to enlarge the receive window of channel. While tracing a libssh2 based application with tracing enabled talking to a SSHD-Core Java app, I found out it sends too many of these adjustment message. It was sending one every 3 packet size which is quite too much considering the default packet size of 32kb.
The RFC 4254 is unclear about proper handling but sending one when the current window size reaches half of its maximum look common. This is what OpenSSH
I've attached a patch taken from the trunk http://svn.apache.org/repos/asf/mina/sshd/trunk