auth-options.c tries to back out options set for a public key if public key authentication fails, but there are some cases where this is incomplete or buggy: command= can memory leak if there are multiple command options on a key permitopen= options are not backed out at all
the leak on multiple command= options is fixed in -current.
... and I was wrong to begin with about permitopen= options not being cleared.
Move resolved bugs to CLOSED after 5.7 release