Starting a process (System.Diagnostics.Process) inside a reoccuring background job throws thread aborted

Have you tried setting the InvisibilityTimeout option on your storage configuration?