Widgetが参照切れを起こしていますね。
「Widgetを作成」が呼ばれるたびに新しいWidgetが作成されて、変数に格納されるため、それまで参照されていたWidgetが誰からも参照されず残ってしまいます。
その後Removeされるのは新しく作った方なので、古い方は画面に残るという結果になります。
Widgetの消去(画像2枚目)を先にするか、Widget作成は1度だけ行うようにして、AddToViewportとRemoveFromParentで表示のみの切り替えにする良いかと思います。
Widgetが参照切れを起こしていますね。
「Widgetを作成」が呼ばれるたびに新しいWidgetが作成されて、変数に格納されるため、それまで参照されていたWidgetが誰からも参照されず残ってしまいます。
その後Removeされるのは新しく作った方なので、古い方は画面に残るという結果になります。
Widgetの消去(画像2枚目)を先にするか、Widget作成は1度だけ行うようにして、AddToViewportとRemoveFromParentで表示のみの切り替えにする良いかと思います。