Change to how maximum number of threads is passed to execution based on Pull Request #1527 feedback

Removes need to pass 'num_threads' directly from options into execution methods and then uses config values to specify the thread max limit