It shouldn't be using whole buffer processing in that situation - since it can directly read to approximately the correct position.  (CXmlQuickPartitioner)

That means it might read 400Mb instead of 100Mb when partitioning a large e.g., 1Gb xml file.  Have you tested to check?