title: is sqlite caching the results of the query for optimization?
body: <p>I've noticed this behavior in sqlite. When I re-use the cursor object, the working set memory in the task manager keeps increasing until my program throws a out of memory exception.</p>
  
  <p>I refactored the code such that each time I query I open a connection to the sqlite file query what I want and then close the connection.</p>
  
  <p>The latter somehow seems to be not so memory-hungry. It doesn't increase beyond a certain point.</p>
  
  <p>All I do with my sqlite db is simple select (which contains two aggregations) against a table.</p>
  
  <p>Is this a behavior we can somehow control? I'd want to reuse my cursor object, but not want memory to be eaten up...</p>