In ASP.Net a request can migrate from one thread to another (thread agility) : http://piers7.blogspot.fr/2005/11/threadstatic-callcontext-and_02.html
Can we see a request migrating from a thread to another using ASP.Net MVC?
If so, when? Are Filters, Controller Constructor and Action executed on the same thread?
Absolutely.
For example, your controller might use async / await to load resources from an external web service. Execution of that request will be paused during the async operation, and when it resumes, it will resume on any available thread from the thread pool