Have you seen my answer above?
I am referring to this?
Workflow.sleep() will not hold thread. but main workflow block while calling Async activities right?
Blocking a workflow thread doesn’t mean that you are taking a thread in the worker for the duration of the block. You can have millions of blocked threads across all the workflows and use a single worker with a few hundred threads to handle them if the update rate is not very high.