- freeing is performed in single threading: no performance can be gained
  from multithreading due to locking
- tbb concurrent set is very slow, so I changed back to unordered_set
  using omp critical as a lock on the insertion