Does MATLAB keep some variables after clearing?
===

I have a program that reads in a really large Excel file and creates some large variables.  This runs out of storage if I try to run it multiple times in a row, which makes sense, i.e.:

large_program; large_program

will crash. However, what I don't understand is why

large_program; clear all; large_program 

will also crash; in order to run it multiple times, I have to restart MATLAB each time.  Does MATLAB not actually clear all variables?  Or is this a fragmentation of memory thing?