Лучшая практика метода отображения экрана-заставки C #

Я показываю всплывающую форму, начиная новый поток непосредственно перед запуском моей основной формы.

В методе, который запускается этим потоком, я использую Application.Run, как показано в Варианте 1 ниже. Это правильный способ сделать это, или меня ждут проблемы, потому что я дважды вызвал Application.Run? Альтернативой является вариант 2, также показанный ниже, где я вызываю .ShowDialog () для отображения формы.

Сама форма-заставка закрывается через определенное время, контролируемая внутри самой формы, и оба параметра работают хорошо.

Итак, мой вопрос: что предпочтительнее - вариант 1 или вариант 2? Если бы вы могли привести конкретные причины для одной или другой, это было бы здорово.

Благодарю.

Фрагмент Главного:

// Run splash screen thread.
Thread splash = new Thread(new ThreadStart(ShowSplash));
splash.Start();

// Run main application.
Application.Run(new MainForm());

Показать всплывающую форму вариант 1:

    static void ShowSplash()
    {
        Application.Run(new SplashForm());
    }

Показать всплывающую форму вариант 2:

    static void ShowSplash()
    {
        using (SplashForm splash = new SplashForm())
        {
            splash.ShowDialog();
        }
    }

Ответы на вопрос(3)

Ваш ответ на вопрос