gc: More verbose debugging

Add more DEBUG_printf statements to trace gc behaviour
This debug statement should stay at the start of the function.  With debugging, you want to know as soon as possible when a function is called, so that additional debugging info (either in that function or in called functions) appears in context.