When a file is being downloaded over Guacamole via SFTP, the SFTP file handle is not properly closed via libssh2_sftp_close(), thus the file remains open on the server for the duration of the connection.
As noted on the mailing lists, this can result in files being locked on the SSH server, at least until the connection is closed:
The Guacamole connects to the SSH server correctly, and files can be browsed from the sidebar menu and downloaded. However, after download all downloaded files stays locked on the server. Until Guacamole disconnects, the files stay locked on the server and cannot be moved or deleted.