All heap blocks were freed -- no leaks are possible
Why would the fact that all heap blocks were freed this time imply that they will all be freed every time?
That would only be true if allocation happened in the same order on every execution of your program, in which case, you should not be allocating on the heap in the first place.