In a simple .Net 4.5 WPF app MainThread (which I believe is the UI Thread) initializes the UI as shown in image below

But in metro app, a Worker Thread is initializing the UI. Why is that so? Is Worker Thread in this case UI thread? and is it normal that Main Thread might not be the UI thread?

The “Worker Thread” is your UI thread.
“Main Thread” is by convention only. It just means the first thread that was created, but from Windows’ point of view all threads are equivalent.
Taken from here