using lock on ExecuteReader