I have the same problem, so I checked the source code. It seems that condition check in the decorator is executed only during “entry” to the task node and when it “finishes”. In your case, before it executes MoveToPlayer and when it finishes.
I maybe wrong, but it doesn’t seem that we can do an additional “finish” condition on top of the task’s inner finish condition.