Program no longer hangs when trying to run more futures than threads