if i'll use libc malloc() for allocating, everything works as iexpected: address space consumtion is on par with allocation size.
The gc uses C's calloc rather implementing memory handling itself using the OS so you get fragmentation:
https://github.com/D-Programming-Language/druntime/blob/master/src/gc/gc.d#L2223
