@joeyh npm packages include their dependencies recursively. See this blogpost for more info. npm encourages many small packages, many of them smaller than their metadata.
What happens is, a build tool includes some utility at a prior verison when it's written. But then the utility switches to using that build tool, maybe even indirectly through several other packages. Now the build tool requires the utility, and the utility requires the build tool. I don't remember the details, but that's a real example of something some Guix developers were working through IIRC, and there are many other cases of this happening.
Eventually that leads to this (I don't know the provenance of that image though!)