Recursive Linked List Memory Deallocation