The goal of my question was about what are the differences between the two solutions: I know HN is a place where I can read technical arguments based on actual experience.
Perfect anwser. I have used DI for years, and the common DI abstraction is a great features: it allows people to start using DI and allow MS to use it internally, then, if you find it too limited or like some custom features, then start using a custom one, which is a breeze.