e0ec2a0507
An OperationCanceledException escaping RunAsync after ApplicationStopping has fired (WindowsServiceLifetime.StopAsync gets a cancelled token after shutdown finished) is a normal stop. Program.IsGracefulShutdown now routes it to an Information line; any other exception, or a cancellation with no shutdown requested, still logs Fatal and rethrows.