rebased and isolate each threads operation, the freed memory by droppig old blocks can only be used by current blocks, in this way to avoid OOM risk