The first 4 bullets depend on your environment, what you're doing etc. The higher the number you configure the more it will slow down your application. You will have to do some load testing with this to see what are the right numbers in your case. You can start off with only one thread and built it up. Thread affinity can be given a range of 1 to 10 where one is the lowest priority and 10 the highest. In this case you also have to see what else you're running and what has more priority.
With the Process Queue you will not be able to delay the time when your jobs are run. The documentation starts off with typical usage scenarios of which one is:
You can also use the Queue module which is, according to the benchmark provided by Menno de Haas, more efficient and which has the option to built in a delay:
He also provided a demo project where you can play around with the Queue. You will have to check the pro's and cons of both to determine which one you want to use.
You can check out the example project on github