Navigation can be slow when the page or ViewModel does heavy work during construction, DI resolves expensive services, fonts or images decode for the first time, or native controls initialize. Profile first, then defer or move heavy work off the UI thread. Use compiled bindings (x:DataType) to reduce binding overhead.
Offload synchronous CPU work:
Var result = await Task.Run(() => DoHeavyWork());
Share with