Thanks! According to the log, it looks like the server actually accepted both the password and public key. But instead of authenticating the client, the server is asking for further public key authentication. The client fails at this point because it has already successfully authenticated using the key.
The most likely explanation for this is a server-side bug. Are you able to connect to the same account using any SFTP client application such as WinSCP or FileZilla?
Regardless, it might be useful to try reversing the order of the two authentication steps to publickey-first. To achieve this, just set the following property before connecting to the server:
sftp.Settings.TryPasswordFirst = false;