Destructor not being called - C#