You are correct, when clicking 'Pause' in MatterControl, the printer will not pause immediately. The machine has a number of commands queued up and it will not pause until they are all executed.
As to @pause working - Another programmer and I were just looking into that functionality yesterday. He was having some issues with it as well. After, a quick test it seemed to be working as expected, but we will investigate more and see if there is something happening here that is unexpected. I would try to make all of these commands lower case however. That is how they are intended to be added to gcode.
Thanks for the feedback.