Calling IArea.LabelPoint will get you a point guaranteed inside the area, while IArea.Centroid will find the center of gravity of the area. In some cases, when mulitpart polygons, polygons with holes, or irrugular shapes as you encountered, the calculted center will fall outside. As Derek pointed out, labelpoint is the one you should try. Because in those cases if you move the point inside, it will no longer be the center.