Issue getting correct Left/Right resulting shapes from SplitShape with none xy-aligned plane

I'm trying to get splitting a shape with a BRepAlgoAPI_Section plane using BRepFeat_SplitShape to work and followed the examples:

http://www.cppblog.com/eryar/archive/2017/07/01/splitshape.html
https://www.opencascade.com/content/how-split-topodsshape

work fine for a cylinder split along the x-y plane (dir 0,0,1), however when the splitting plane/normal direction is elsewhere the resulting shapes in Left or DirectLeft, either results in all faces or nothing. I have tried the two approaches below and I'm sure its something simple I just don't get, any hints or ideas would be very helpful.

const TopTools_ListOfShape& aLeftShapes = aShapeSplitter.Left();
for (auto i = aLeftShapes.cbegin(); i != aLeftShapes.cend(); i++) {
aBuilder.Add(aLeftCompound, *i);
}

TopTools_ListIteratorOfListOfShape theList = aShapeSplitter.DirectLeft();
for (;theList.More();theList.Next()) {
aBuilder.Add(aLeftCompound, TopoDS::Face(theList.Value()));
}