It has happened to me in the past, but in my case, one background server had the older version of the code, and the other background server had the later version of the code - very frustrating to work out what was going on and restarting the background servers didn't resolve.
It ended up being a multicasting issue which was resolved by CA as this was on a clouded environment.
I was able to show this was occurring by outputting the version number of the GEL script in the log files, so it was then very clear what version of the code was being run. Please consider adding this to the output log files so you can see what is being run.