run internally is multi threaded for the metrics. I did not want to make the call to run multi threaded as well because our runs are typically quite expensive on CPU and python has threading bottlenecks. If we think it should be multi threaded, I can update.