propagateContextChange in the current context implementation visits all child fibers rather than fibers that have dependency on the context.
In my case, there may be thousands of child components and 99% of them don't have dependency on the context, which causes propagateContextChange spends a lot of scripting time but eventually does 'nothing'.