I found a while ago (and I want to confirm again) that if you declare a class level variable, you should not call its constructor until the class constructor or load has been called. The reason was performance - but are there other reasons to do or not do this? Are there exceptions to this rule?
ie: this is what I do based on what I think the best practice is:
public class SomeClass
{
   private PersonObject _person;
   public SomeClass()
   {
      _person = new PersonObject("Smitface");
   }
}
opposed to:
public class SomeClass
{
   private PersonObject _person = new PersonObject("Smitface");
   public SomeClass()
   {
   }
}