Executing a DELETE operation will temporarily consume additional memory.
DELETE consumes memory is because DELETE queries mark rows as deleted, they don't physically delete them. Marking a row as deleted requires 40 + 8 x num_indexes bytes per deleted row. Garbage collection occurs naturally in the background and will eventually clear out the deleted data. Specifically DELETE will use 40 + 8*numIndexes bytes per row deleted until the transaction commits and GC runs to free up the deleted rows. If the table is narrow (a few ints or something), that will show up as a big spike in memory use.