always call remove on threadLocal