I have a 14x2 spritesheet which has 125 Kb in raw .png. But as soon as I compile that to .xnb, it mutates to 4 MB.
So my question is: Why is that? And how can I fix that?
I believe images in xnb format are uncompressed so image file size is purely a function of image size and colour depth.
Width * Height * Depth = Size
If your image is 1024px square at 32 bits per pixel, it'll be 4mb in size.
You could try using the DxtCompressed option, in the solution explorer > content project > image file > properties > texture format - change Color to DxtCompressed
The resources compiled in Debug mode generally comes bigger than the original. Try to compile in Release mode and see the size of the file in the Release folder.