gc logic for user buffers