Fix some bugs where workers dont properly attempt to recover after receiving an error response from the last message