I created a small patch to test out execution order and came across something that I have trouble understanding. Below you see two sample and hold (S+H) nodes which store a time variable at their output once a trigger is hit. The second S+H node is only triggered after an expensive operation is performed, which takes about 0.5 seconds. In theory, the two pads should hold two different values for time, but this does not happen, as you can see in the gif. I looked at the emitted C# code and both pads are indeed separate double variables computed before and after the expensive operation. Is something different happening under the hood?
