Ja vam poviem kde je chyba. Kniznice!
Kazda kniznica ma iny sposob ako uvolnovat pamat. Nikedy vam vrati pointer na vlastnu strukturu, inokedy vam da kopiu a mate sa o nu postarat vy alebo vrati pointer ale musite si urobit kopiu ak chcete hodnotu drzat lebo kniznica svoju pri inom volani uvolni ... . Niektore kniznice maju vlastny 'garbage collector' takze uvolnovat pamat musite cez nejake volanie. Pokial nepisete cely program sami je tom pekny bordel a ked poskladate 3-4 kniznice dokopy musite si pomaly kazde volanie nastudovat extra co s navratovou hodnotou robit.
Preto je RUST popularny lebo sice nema garbage collector ale je aspon hned jasne ako sa s pamatou pracuje.