Because something heavy ran on the UI thread: constructors, synchronous I/O, .Result or .Wait(), long event handlers, or expensive property getters. Make everything asynchronous (async/await), avoid blocking calls, and use ConfigureAwait(false) in library code that does not need the UI context.
Share with