CSG failed, exception non intersecting group is not IN or OUT! (poly_b)
uncontained hole loop does not share vertices with any face loop!
uncontained hole loop does not share vertices with any face loop!
CSG failed, exception non intersecting group is not IN or OUT! (poly_a)
CSG failed, exception extern\carve\lib\triangulator.cpp:916 "didn't manage to l
ink up hole!"

Is it a known limitation even with new CARVE integration? And what exactly makes it fail?

I'm not qualified to examine the code, but I do know that the Suzanne model is not a completely closed model. To be precise, the eyes are open areas stuck into the head and I believe this would cause problems for the boolean operation.

Just ran a test. I did the following with the file in question: (A) selected Suzanne, went into edit mode and removed floating eye pieces. (B) Then filled up Suzanne's open eye sockets, recalculated mesh and then the boolean operation worked as expected with no complaints.