So i should do like i do now, except that instead of code running in my own thread, just start scheduler from that thread?
Start a new thread, have it sleep for the amount of time you want, and then wake up and execute the function you want when it wakes up. (probably have it run a 0 delay sync task in the main thread.)