У Вас есть код, который является compliled в некоторый IL (промежуточный язык). Когда Вы запускаете свою программу, компьютер не понимает этот код. Это только понимает собственный код. Таким образом, JIT-компилятор компилирует Ваш IL в собственный код на лету. Это делает это на уровне метода.
Можно также сделать это от кода позади путем переопределения метода 'OnStartup' в App.xaml.cs как ниже.
Действительно обращают внимание для удаления StartupUri = "Test.xaml" от App.xaml
protected override void OnStartup(StartupEventArgs e)
{
Test window = new Test();
window.Show();
}