Devin is on the right track here.
Workflow doesn't wait for DCC to complete its OCR jobs, it only schedules the job then moves on. So from the Workflow end, you'll need to batch your documents into appropriate chunks for DCC to work with.
Internally, DCC will keep track of the jobs sent to it and schedule them to be done on its worker nodes. Note that the way that you send documents to DCC from Workflow will make a big difference in how well DCC will handle the work.
If you send each document individually in its own Schedule OCR activity then a full new DCC job will be created for each of them. Doing this, you will hit the cap on active jobs in DCC (5,000), and you'll be paying extra execution time overhead for each document.
Better would be to group up all of the documents and send them in a single Schedule OCR activity, by using a collection of Document IDs in your Schedule OCR activity. This will allow DCC to create a single job for all of the documents, and then split up the documents internally into tasks. This helps avoid the 5,000 active job limit, and the overhead for tasks is much smaller than the overhead for jobs. This is probably the best method if you are running OCR from a search result.
The absolute best way to send the documents, at least in terms of DCC resource usage, is to put all the documents to be OCRed into a single folder and select that folder in the Schedule OCR activity. DCC will find all of the documents in that folder and work on OCRing them, and so it won't need to keep as much information in memory while it works, and it can schedule more effectively by restricting the number of tasks it has waiting at any given time.
No matter which method you go with for submitting the documents, Devin's suggestion is still a good idea. Try to figure out about how many documents your cluster can OCR during some time period (on the order of one to several hours), and submit that many documents at a time. You can either be conservative and submit more documents well after the cluster should have finished processing, or you can get clever with PowerShell and cancel jobs or use PowerShell to wait until all jobs are complete, then do something to trigger the Workflow.