title: OleDbCommand in Using block: COM object that has been separated from its underlying RCW cannot be used
body: <p>I got error "System.Runtime.InteropServices.InvalidComObjectException: 'COM object that has been separated from its underlying RCW cannot be used.'" ONLY when i execute <code>OleDbCommand</code> object in <code>using</code> block with <code>parameters</code></p>
  
  <pre><code>using (OleDbCommand comm = new OleDbCommand())
          {
              comm.Connection = conn;
              comm.CommandType = CommandType.Text;
              string txt = "SELECT* FROM [ListForGroup] WHERE [email] = @email";
              comm.Parameters.Add("@email", OleDbType.VarWChar).Value = userEmail;
              comm.CommandText = txt;
              conn.Open();
              OleDbDataReader reader = comm.ExecuteReader();
              List&lt;ListForGroups&gt; list = returnLists(reader);
              conn.Close();
              cmbSelectList.DataSource = list;
              cmbSelectList.DisplayMember = "listName";
              cmbSelectList.ValueMember = "listForGroupsID";
          }
  </code></pre>
  
  <p>Does anyone know reason for that. I can resolve it to use <code>OleDbCommand</code> object with <code>CommandText</code> without <code>parameters</code> but i read that's bad idea. And i want to do it in <code>using</code> block to be sure that all reasources will be released.</p>