Why does this return false? Don't we want to crank out at least some of the pending messages (up to batch size) in the writeLoop and stop at FlushAndStop2?