I look at it as a first come first serve linkage. When a Release is performed, the next Acquire is its pair. When an Acquire is performed, the next Release is its pair.

>> ... knows not to execute ...
I don't look at it as a stall in execution. I see the Acquire getting paired with the Release - so I know that if the Release is reached, then the Acquire ensures that all stores prior to the Release are visible to the Reader CPU.

gg