GameObject.SetActive - Huge Memory Allocations?

So I’m building a fairly complex UI, it’s a RPG UI with inventory and team management and the like. There’s a lot of drag and drop, which means there are a lot of images - I’m also using masks extensively.

MaskableGraphic has a considerable amount of overhead associated with it, but the profiler does not account for the vast body of the memory (even deep profile). It’s just lost under GameObject.SetActive.

My UI is using drag and drop, so there are hundreds of images that can be activated or deactivated.

I’m wondering if GameObject.SetActive is no longer the approved method for hiding/showing panels and if instead I should do something like build out canvas groups and remove all alpha?

its a bit late answer but , you can disable/enable sprite renderer component instead of whole game object , that way you can save a lot of resources wasted by garbage collector .