Widget 'Remove From Parent' not enough

I need the ability of some Widgets to self-destruct for convenience:

But of course it does not delete itself properly.

The ancient UE question - how one can truly delete the widget…

In Blueprint of the parent, from the ‘outside’ when widget is a variable I am easily deleting it by setting to NULL(SET-empty), but I do not know how to do that to ‘widget itself’.

P.S. Collect Garbage not working for whatever reason and I don’t want use such a heavy thing.
P.S.S. looking at something like 174$ ANNIHILATE WIDGETS I starting to worry. Task seems to be really increadibly difficult for such a baby-easy kind of task.

I had the same problem like you do and many people more. I don’t have a specific answer but I used this and this

I think garbage collect should be working and its not a heavy thing especially if you are in menus that time. There is something also called ForceGarbageCollect in c++, which is usefull as well I use for animation blueprints.

GEngine->ForceGarbageCollection();

If you mark something as garbage it will eventually collected afaik. However if something is not referenced to anything like the removed umg, lingering in memory, generally they get garbage colected after a while.