Another thing you can do to analyze boolean problems is to select the objects and run Construct > Curve > Isect on them which generates curves at the intersections between objects.
If you then go around and take a bit of a closer look at those curves, if you see any type of irregular boundaries like gaps or pieces sticking out past one another, those are going to be problem areas where there was not a clean intersection.
Like for example in your case here there are some intersection areas like this:
- Michael
|