[c#] When should I create a destructor?