Functions with a python typed argument (kwargs in this case) cannot use
py::call_guard<py::gil_scoped_release>()
because it means, the GIL is not held when the function returns (and
cleans up arguments/temporary variables).
Thus, remove the global call guard and create a local variable
py::gil_scoped_release gil_release;
after arguments are processed and before meshing starts.
This local variable is destroyed before the function returns
(acquiring the GIL again).