Radzen Dialog Show then hide on other page

i have login page once login is success , i am showing dialog to users so they can select study plan.

using following code to get response back

protected async override Task OnInitializedAsync()
{
    try
    {
        dialogService.OnOpen += Open;
        dialogService.OnClose += Close;
    }
    catch (Exception ex)
    {
        Service.BootStrapModel(Global._MessageWindow, ex.Message.ToString());
    }
}

and then close event. if user has not selected any record i have to keep dialog open.

void Close(dynamic result)
{
if (Global._PlanID == 0)
{
dialogService.Open("Select your plan from the list ", null, new DialogOptions() { Width = "700px", Height = "530px" });
}
else
{
navigationManager.NavigateTo("/index");
}
}

My Issue is when i move to index page i have button for user so they can still select different plan. when i am opening dialog in index page , its using login page Open and Close event any help please even i have tried following code but its always going to login page open/close event.

dialogPlanMain.OnOpen += OpenPlan;
dialogPlanMain.OnClose += ClosePlan;

system never run OpenPlan/ClosePlan its always going to login page Open /Close event.

Dialog appear in index but then close fast like spark.
do i have to kill dialog before going to index page ?

i have solved that issue before navigation to index page i have to use Dispose

PlanDialogService.Dispose();

work for me