// We use <= as this could be used by load.
// because of a failure, no references were loaded, so we have 0... and we still need to delete the associated files
I'm trying to understand how this could be the case - can you describe the scenario in more detail?
Say a message send is finished.... and the server crashed before the commit;
When the server is restarted, the reference Counting will be 0. The Journal could find a failed transaction with largeMessages. On that case, the file associated with the failing transaction should be deleted.