Fixed tunable concurrency implementation

- The way I was handling tunable concurrency was more like batching,
  if it was set to 3 it would wait for ALL 3 to finish before starting
  the next 3. Now it will start another as soon as one finishes.