To solve the problem, you need do a dummy call of strptime before start a thread.
task_thread = threading.Thread(target=self._run_job, name=job['name'], args=(task_cr, job, now))
This is a python bug, strptime dont work fine with threading, all that explain on python bug report.
The only one impact is : No more crash. the dummy call not stored in any variable, this only initialise the datetime.strptime.