title: Is RAII safe to use in C#? And other garbage collecting languages?
body: <p>I was making an RAII class that takes in a System.Windows.Form control, and sets its cursor.  And in the destructor it sets the cursor back to what it was.</p>
  
  <p>But is this a bad idea?  Can I safely rely that the destructor will be called when objects of this class go out of scope?</p>