Eventually I get all the data as I expect. The strange thing is that the cycle starts over once I get all of it. If I put the Arduino in push mode (where it just sends the data) I get all the data as expected.