APIs in .NET are typically structured where controllers hold hard dependencies on services. With time, the code becomes tightly coupled, and scaling eventually becomes a problem. If you've ever participated in the development of larger APIs in .NET, you might be familiar with the lifecycle of projects like these.
MediatR