Método de exibição de tela inicial melhor prática C #

Estou mostrando um formulário inicial iniciando um novo thread imediatamente antes de executar meu formulário principal.

No método que é executado por este segmento, estou usando Application.Run conforme mostrado na opção 1 abaixo. Esta é uma maneira correta de fazer isso, ou existem problemas esperando por mim, porque eu chamei Application.Run duas vezes? Uma alternativa é a Opção 2, também mostrada abaixo, onde eu chamo .ShowDialog () para exibir o formulário.

O próprio formulário inicial é fechado após um tempo especificado, controlado no próprio formulário, e as duas opções parecem funcionar bem.

Então, minha pergunta é: Qual é o preferido - Opção 1 ou Opção 2? Se você pudesse dar razões específicas para um ou outro que seria ótimo.

Obrigado.

Snippet do Main:

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

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

Mostrar opção de formulário inicial 1:

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

Mostrar opção de formulário inicial 2:

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

questionAnswers(3)

yourAnswerToTheQuestion