title: Attribute becomes null shortly after it is set
body: <p>In my program, I have a controller that, based on user requests, creates new Forms and new objects that will be used by those forms. To put it simply, this:</p>
  
  <pre><code>ClientForm clientForm = new ClientForm();
  Client client = new Client();
  clientForm.SetClient( client );
  clientForm.Show();
  </code></pre>
  
  <p><code>SetClient</code> does something obvious:</p>
  
  <pre><code>Client _client;
  
  public ClientForm()
  {
      InitializeComponent();
  }
  
  public void SetClient( Client client )
  {
      this._client = client;
  }
  </code></pre>
  
  <p>If I try to use <code>_client</code> while I'm in <code>SetClient</code> everything works fine, but if I try to use it from an event handler I get a <code>NullReferenceException</code> and, indeed, a simple if check reveals that <code>_client</code> is <code>null</code>.</p>
  
  <p>Why is this happening? Is it going out of scope or something? How can I prevent that?</p>