After iterating through readers such IFeatureReader, IDataReader, ISQLDataReader or DbUserReader, call the Close() or Dispose() method. Not doing so may cause unhandled exceptions at some future time. Be sure to enclose the statement that returns a reader in a try block so that you can close the reader in the catch block.