Adding extra batch state 'reset' to handle lock stealing properly + failsafe against potential infinite recursion