it's looks like a common Veeam issue.
Instead of using Proxmox storage API, Veeam use the VM’s qmp socket.
If another process is already using that same socket, or if the previous snapshot operation hasn’t fully released it, the VM keeps the socket locked.
Because QEMU cannot process the cleanup commands (including dirty‑bitmap deactivation) while the socket is locked, the snapshot removal fails and the VM remains locked after the backup.
Hope they will redesign it to use Proxmox storage API for backups.