In memory management libraries (malloc, GCs, ...) we do try and minimize
the amount of memory that`s "wasted" of course, but we generally
consider that having an upper bound of ~100% overhead is acceptable
(i.e. using twice as much memory as actually needed in the worst case).