I've encountered a case where the automatic preprocess mode in CoACD triggers unnecessarily. This seems to happen because the triangle intersection test in BVH::IntersectBVH can return true for triangles that do not actually intersect in some configurations.
coacd::IntersectVector3 v0, v1, v2, u0, u1, u2;
v0 = {-1.0, -1.0, -0.333333};
v1 = {-0.366667, -0.366667, -0.333333};
v2 = {-1.0, 1.0, -0.333333};
u0 = {1.0, -1.0, -0.333333};
u1 = {1.0, 1.0, -0.333333};
u2 = {0.366667, 0.366667, -0.333333};
bool flag = threeyd::moeller::TriangleIntersects<coacd::IntersectVector3>::triangle(v0, v1, v2, u0, u1, u2);