How to manually destroy a UObject?

I have a UObject class I’m using as a buff object with its own ticking functionality and etc. When a player overlaps with a pickup, its constructs the corresponding buff object and puts the reference in the player’s arraylist of active buffs. It has a Destroy event which is called when it life span has been reached or some other outside force interacts with it. So far the Destroy event only removes it from its owning arraylist but doesn’t destroy it because the timer is still ticking. How do I delete this object completely or mark it for delete if I must wait for GC to do whatever?