WPF ShowDialog devuelve nulo inmediatamente en la segunda llamada

Creo que este es un error en el marco de WPF, sin entrar en profundidad en mi programa y por qué estoy haciendo lo que estoy haciendo, escribí una aplicación de prueba simple para probar mi teoría.

¿Se puede confirmar esta cuestión? ¿Cuáles son las posibles soluciones para una serie de diálogos que se ejecutarán antes de poner la aplicación en su ciclo de ejecución?

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;

namespace ShowDialogWindow
{
  /// <summary>
  /// Interaction logic for App.xaml
  /// </summary>
  public partial class App : Application
  {
    protected override void OnStartup(StartupEventArgs e)
    {
       Window testWindow = new Window();
       testWindow.ShowDialog();
       testWindow.Close();
       // THE CODE BELOW WILL NOT SHOW THE NEXT WINDOW
       Window testWindow2 = new Window();
       testWindow2.ShowDialog();
       testWindow2.Close();
    }
  }
}
Actualizar:

Claro que puedo cambiar mi diseño para acomodar este comportamiento. Lo que estaba tratando de hacer era realmente simple sin embargo.

He derivado miMyApplication desdeApplication. Sobre elMain(), Inicio una serie de comprobaciones de inicio, por ejemplo, información de licencia, pantalla de inicio, comprobaciones de conectividad y configuración, etc. Cuando lo tengo todo claro, llamoMyApplicatiom.Run(MyMainForm).

Este diseño se basa en una aplicación normal de Windows que funciona sin problemas.

Muchas gracias por su ayuda, y recordaré que no puede llamarShowDialog() antes deapplication.Run() ya que simplemente se inicia un cierre. Sin embargo, habría pensado que una secuencia de apagado solo debería iniciarse después de unaApp.Run() instrucción.

Por favor corrígeme si estoy entendiendo esto mal.

Respuestas a la pregunta(2)

Su respuesta a la pregunta