Yup. Creating and laying out a complex widget can be expensive. Showing / hiding it is free by comparison. Pretty much irrelevant if the widget is simple and you do it on a keypress. But at least you’re only working with a single instance rather than juggle a bunch of them pending kill in the background.
Apart from that, your script is more than fine, should work and be reliable. It’s not something I’ve seen before and I’ve seen UMG misbehave like there’s no tomorrow!