Currently Task.Delay is being used to ensure that text written to the console actually gets written before the executable is ended. This should not be necessary. As per @baywet this is likely an issue with failing to dispose the LoggerFactory or failing to use an async command handler overload.