I would like to ask couple of questions here -
1. How are you starting workflow on huge number of pages?
2. Did you monitor replication queues during publish?
3. Have you used any query in your workflow code? Could you please share the logic, if it is possible.