Hi,
yes, nothing wrong with this action, it's by design that it will only destroy the first gameobject it finds.
I would implement a logic on the gameobject itself, and a global event "DESTROY OBJECT X" for example, and so all objects implementing this global event will be able to destroy themselves.
This approach is very powerful, cause each object can then decide what to do based on its own properties and context.
bye,
Jean