Are observer aborts costlier than services in behaviour tree?

In a behaviour tree are observer aborts evaluated every tick or only when a key is modified?

for a trigger on key modification I can understand putting hooks in write calls for observed keys but dunno if it detects garbage collection as well.

On the other hand is a low tick rate BT service a better option for a key which would not change very often? or even better straight up binding delegates in the service to initiate aborts on value change