Issue was caused by BKE_vfont_to_curve() modifying curve->nurbs list which gave threading issues. Now added BKE_vfont_to_curve_nubase() which operates on a given nurbs list base which is local in do_makeDispListCurveTypes(). By the looks of it it wouldn't give speed regression because previously it also was creating nurbs for every font object sharing the same curve data.