Finally tracked it down. For anyone that is in a similar situation, the fix is:
In SingleSessionCommandService.SynchronizationImpl.afterCompletion(...), add the following line and update the interfaces accordingly
this.service.jpm.clearPersistenceContext(); // clears the context after tx complete
this.service.jpm.endCommandScopedEntityManager();