Fix a memory leak

This fixes multiple memory leaks. They all boil down to "this function
was called multiple times, in which case we'd leak old member values",
or "we exited early from the function, and forgot to let go of these
`Tmp` variables."

Note that this CL assumes that we don't try to hold on to e.g. the slot
list across a call to populateObjectSlotMetadata.

Bug: None
Test: mma. No more memory leak complaints.
Change-Id: I6b44b7f4ef858d4ae99b413df8d84f00fb4766df
1 file changed