Follow up to D11603. This changes causes threads to potentially evaluate
multiple objects recursively, which could be bad for performance and memory usage.
For example I encountered a case where the the stack trace was, which seems
pretty bad:
- hair distribute
- eval object
- TBB wait
- subdiv
- eval object
- TBB wait
- subdiv
- eval object
This potentially explains some uneven performance I was seeing, where loading
barbershop_interior.blend sometimes took 5x longer than usual. However more
performance and correctness testing is needed, since this re-introduces nested
isolation regions which may be problematic.