Don't spill more blocks than we need to

Also fixes a memory leak
Right.  That way we don't spill more than we need to.