The problem may well be here
This is a widget, right. You just issued a command to remove it, then wait 6 seconds ( plenty of time for it to be destroyed ) before trying to call open level. It never gets to the call, I’m thinking…
It might be better to separate these operations. For now maybe, just make it so you can close the widget using a keypress ( or remove all widgets from the destination level BP ).