I know I am saying this after multiple years and you probably do not care for it anymore.
However, in order to run a threaded program on the IBMi you need to run it with SBMJOB and with the option ALWMLTTHD(*YES). Otherwise, you will get an error 3029. I know, it is a very stupid error to get when it has absolutely nothing to do with the real reason your threaded program is not running.