Issue was caused by clearing dirty flags from element table in bmesh before the data was fully ready. This confused checks happening from threads and some threads did consider element table is usable while other thread was still filling it in.
Issue was caused by clearing dirty flags from element table in bmesh before the data was fully ready. This confused checks happening from threads and some threads did consider element table is usable while other thread was still filling it in.