Use threadpool when generating weights for repartitioning.
When we have large tasks counts (see for instance #458 (closed) with 13 million tasks), we spend most time not in METIS (which should be fixed to the number of top-level cells), so presumably that is used generating the weights.