If it's shared, you don't know what project pulled in which dependencies so you can't clean it up. I guess this is a trade off - 2G that's easy to clean up vs ?G that isn't. The only way around would be some sort of pinning and GC like in Nix.
That said, if it's not an option, I think it'd be reasonable for people to be able to make that choice themselves...