An update, if anyone ever comes across this via search engine.
Turns out it was my container's timezone. The image was set to pure UTC, no timezone, by default, so I believe when it was writing files to my network storage it introduced a discrepancy. My network share was recording the file metadata accurately to real-time, so I assume when it came time to do another backup, the file time XO expected was different, making it think it was "stale" or still being "held".
Have now run both scheduled metadata and VM backups without any errors 😊.
In summary: make sure your time, date and timezone are set correctly!