title: C# Close() or using/Dispose() frequently used SQLite object
body: <p>Sometimes I see people like to dispose just anything after use regardless of how frequently they're being used (probably not related to SQLite question, but I am dealing with SQLite as of now, I'm puzzled) -- or perhaps I am mistaken. This has caused a massive confusion for me.</p>
  
  <p>For example (taken from elsewhere):</p>
  
  <pre><code>using(var con = new SQLiteConnection(conString))
  using(var cmd = new SQLiteCommand(con))
  {
      con.Open();
      // ...
  } // also closes the connection
  </code></pre>
  
  <p>My question is, should I store the <code>SQLiteConnection</code> and <code>SQLiteCommand</code> objects in the field, and use the method <code>.Open()</code>, <code>.Close()</code> to handle the database connection without disposing them at all until application termination -- or dispose them into the Garbage Collection like it's not really an elegant idea in my perspective?</p>
  
  <p><em>Edit: If one says dispose, then why? I need better answers, I need the true reason why, not because of pooling, and whatnot. I need to know what exact problems could arise other than human-prone errors, and provide an example or perhaps a link to the example.</em></p>
  
  <p>For example the class field:</p>
  
  <pre><code>private static SQLiteConnection sQLiteConnection; /// &lt;summary&gt;SQLiteConnection.&lt;/summary&gt;
  public static SQLiteConnection SQLiteConnection { get { return sQLiteConnection; } }
  
  private static SQLiteCommand sQLiteCommand; /// &lt;summary&gt;SQLiteCommand.&lt;/summary&gt;
  public static SQLiteCommand SQLiteCommand { get { return sQLiteCommand; } }
  </code></pre>
  
  <p>Where the private fields are initialized with a private method, and the objects are to be reused without disposing them; Hence the read-only properties.</p>
  
  <p>Edit 2: For clearer clarification, are you people misreading? I am saying "reusing". Which means one is created, and stored somewhere in the field to be reused. I am storing it in the static field in a static class to be reused until the application is closed. Tell me, why do I have to dispose it?</p>
  
  <p>Why, do, I, have, to, dispose, it? If, I, were, to, "reuse", it? Why?</p>