in the linked list destroy function it only ever destroy's half of the contained elements
FIX :
void LinkedList_destructor(struct LinkedList *linked_list) {
for(int i = 0; i < linked_list->length; i++ ) {
^^^ <- remove i++
LinkedList_remove(linked_list,0);
}
}
remove i++