Simple Memory Manager - De-allocation To free a chunk, we perform the reverse process. Given an address, we go back 4 bytes to get the chunk's size, and add it to the list. If the freed chunk is consecutive to chunks already found in the list, they are merged into a one, larger chunks. Up to 3 chunks could be merged in such an operation (the freed chunk, the free chunk preceding it, and the free chunk following it).