This is a situation where it may have been better to limit the number of goroutines to `<= GOMAXPROCS`. Based on what you have further on, I guess it's best to leave one CPU thread for collecting and processing the results, so, given this is CPU-bound work, I would imagine the optimum number of goroutines working on the models would be `GOMAXPROCS - 1`. If you have significantly more models than that, the performance may be suboptimal. 

Just my 2¢