Just as an example, I created a template where I just “sucked in” all the icon files I regularly share across projects - they are 128x128px PNG files based on FontAwesome that are available for download. Some of the images are duplicated with different names since FontAwesome uses aliases when used as a web font (e.g., the same image is saved as “icon_gear” and “icon_cog”). The result is 515 individual asset files.
The first thing that happened was that when I selected all 515 file the application crashed.
After going through and selecting in alphabetical batches (so all the images named icon_a* followed by icon_b*, etc.) the size of my otherwise blank template file is 2.87Mb. On the other hand, if I just select the BMML files for a few of my existing B2 project folders they come in at just 1.43Mb, 1.14Mb, 957kb.
Next I started from the template and imported just the BMML files from the project that came in at 957kb. This also brought in one image asset that is 433kb. The final project file size: 4.21 Mb. This is slightly less than if I simply added together the size of the blank template, the BMML files and the image asset (which is 4.26), but consider now that each and every project file has at least an additional 2.80Mb hanging off it, even though I would never use all 515 icons.
Now you might say that I could always delete the icons I don’t use, but since it appears I can only send assets to the trash one at a time, even if I used 25 or 30 unique icons, it would still be incredibly tedious to delete upwards of 480 individual icon asset files.