According to the document
ProcessMemUsage—The amount of memory consumed in each phase. Sum the ProcessMemUsage across all the phases to get the memory consumption during the entire operation:
TotalMemory = sum([statRpt.Statistics(:).ProcessMemUsage])
So, if step 2 uses less memory than step 1, then the number will be negative. Keep in mind, this is the memory usage of the computer that compiles or builds the model, not the memory usage of the model itself.