Executing multithreaded methods make garbage. Why is that and can we prevent it?

ThreadPool.QueueUserWorkItem(callBack, state);

Here’s a great answer by Scott Chamberlain