This is true, so it should only be used in the "create event" OR should only be used to create in just 1 step, maybe using a variable in draw event. It creates the blur effect in just a few thousandths, which makes it imperceptible, however, when you are no longer using it you can free it from memory using sprite_draw_blur(id, x, y).
Here's how I'm using it in my game: (I'm using OBS to record the screen and it's much slower compared to Action, sorry.)
Look at the blurry bar at the top of the window, it does it dynamically. You can see how fast it can become if you use it correctly.
(The screen flashes black because I'm using a surface to draw the entire GUI.)
At 4k resolution (3840x2160), I got this: (7.7 MB memory usage)
You can still use it in real time if you greatly reduce the resolution of what will be drawn (sprite, surface..), and then apply a little blur using just the shader.