I encountered the same issue today in one of ours apps. This behaviour is triggered if a previous action mistakenly ends the current transaction.
In our case it cause was enabling the custom errorhandling of a Consumed ODataService. This mistakenly closes the current transaction triggering all current and future tasks to be executed directly since the database updates are now executed directly instead of in a transaction.