In essence, this is because Silverlight is launched in the browser window of the Window. This means that if Silverlight is waiting for a response synchronously - at this time the entire browser window does not respond.
In addition, Silverlight initially (Silverlight 2) had only a client browser communication stack.
This means that all communication in Silverlight has been routed through the browser.
Browsers do not support synchronous programming models for communication.
This is less of a problem with the communication glass with the Silverlight 3+ Non-Browser Client, but it still makes sense to keep this programming model in place.
source share