This is probably because Spring Boot thinks your application is a command lines application, rather than a Web Application.
Since most projects will have some form of actuator endpoint, including Spring-Boot-Starter-Web is most likely the easiest way to force Spring Boot to keep the app running.
It might be because the Event Processors create a Thread Pool that keeps the application running while it’s active. Maybe the thread pools used by gRPC (which handle the commands and queries) are configured to use daemon threads. Those will not prevent a shutdown from happening.