You have to specify, which AuthenticationMethods are allowed. Please update your PreAuthentication handler to use:
e.Accept(AuthenticationMethods.Any);
If you want to execute sftp subsystem, you have to specify root directory for the user. In that case, please update Authentication handler to use e.g. "C:/" like this:
e.Accept(new FileServerUser(e.UserName, e.Password, "c:/"));