Why does use of dependency injection differ between internal packages and plugins?

In the debug package, the DefaultDebugSessionFactory gets its dependencies via dependency injection:

But in the plugin system, the dependencies of the debug system are brought in by passing a DI container to the DebugMain class and then passed into classes like the PluginDebugSessionFactory as constructor arguments.

Why is DI handled so differently in the different subsystems?