Luckily, in most cases, it is not exactly as bad as this sounds. The one really bad thing is
<iostream>.
For example, if you include
<algoritm>, or
<vector>, or
<map>, this adds about 50kB of symbols to your code. If you include all of them, it only ever adds about 55kB total (due to overlap). After stripping, this works out to exactly zero (except for code that you actually instantiate).
Now, unluckily,
<iostream> is an ugly fat pig. It's not just a bunch of templates, but it's some real binary code in some library that is linked against, and it includes, references, and instantiates pretty much everything, too.
As Ceniza pointed out correctly, MingW-gcc links statically against libstdc++, and unluckily the linker is not particularly good at dead-stripping the unused code here.
Thus, by including
<iostream>, you actually add 500+kB of (dead) code to your application. The good side of the story is that a big part of the remaining standard library is pretty much "free" after you have paid that blood tithe, as most everything is in the executable either way.
Being a stream-hater, this isn't much of an issue for me, personally. I never understood why people have such a hype about streams, or why Mr. Stroustrup added them in the first place. At the very least, a better operator could have been found. But well... I'm going off-topic.
Whenever
<iostream> bites you, use good old
printf(), it's so much nicer anyway

So, each of its 30+ dlls and 3 exes has a 300-500KB libstdc++ statically linked?
cb_console_runner.exe is 21.5kB, and 7 of the 11 core plugins are under 500kB as well, so this obviously isn't the case (luckily).
The only component in the Code::Blocks package that uses streams is the
autorevision tool (which is not even part of Code::Blocks, technically). That's mostly out of lazyness from my part, as I couldn't be bothered to write 5 extra lines of tokenizer code when the standard library could as well do the job, and size really didn't matter.