The positive numbers are allocated memory and the negative numbers are deallocated memory (between the previous and current sample).
From the docs:
Memory: Memory allocated or deallocated (for negative numbers) for a
given call stack. This is represented in megabytes and aggregated over
all the call stacks over the code in the given row
Also note that
Interpreting this information can be a little tricky, because it does
not necessarily reflect memory allocated and deallcated at that line
of code. The sampling profiler records information about memory
allocations that happen between the previous sample and the current
one. This means that the allocation/deallocation values on that line
may have actually occurred in a previous line of code.