clean up thread code
try to get sharing right
explicitly set list context for collector threads
share more between threads.