N = 10000
got_rows = True
while got_rows:
    got_rows = False
for sample in session.query(CodeSample).limit(N).offset(offset):
    got_rows = True
for proj in projects:
    if sample.filename.startswith(proj.abs_source):
        sample.filename = 'some other path'
offset += N
session.flush()
session.expunge_all()
Это утечка памяти (программа на питоне с sqlalchemy/sqlite)