reuse scratchbuffers across the life of the thread. added benefit of fixed memory consumption: 16mb * threadcount. gets us another 5%