> Here, instead of blocking on the second thread when executing the blue task, the scheduler picks up a yellow task;
This only works if the second thread's yellow task is independent of its blue task's results. Which is, unfortunately, only 1% of the cases.