The first thing I'd consider is that any time your trigger matches, your rule actions will start running again (from the beginning). Therefore, any time you get a new reading lower than the previous, your first action (conditional) will run again--but that delay from the old one will still be hanging around. Nothing stops those unless they are cancelled with "Cancel Delayed Actions."
I think it might be better to re-think this rule with a slightly different pattern. Here's what I'd try:
Power > 10
Cancel Delayed Actions
Wait for event: Power <= 10
Delay 0:05:00 (cancelable)
Off: 3D Printer Power
This takes a slightly different approach by waiting to see when the power goes above 10 W (presumably indicating that you've started to use the printer), then waiting for it to drop below and stay there for at least 5 minutes. Note that in-progress "Wait"s are cancelled any time a trigger matches, so you don't have to worry about anything beisdes the delay here.
You could also do this using the "classic" RM paradigm: a "power changed" trigger with an IF THEN/ELSE in the body to handle whether the power is above or below, but the above is a pattern that has been recommended more lately.
PS - You are missing END-IFs in your rule as written, but that won't affect the outcome in this case--just nice to know if you do in the future.