Czy jest to błąd w silniku RegEx .NET?

Mam dwa wyrażenia regularne do użycia zRegex.Split:

(?<=\G[^,],[^,],)

i

(?<=\G([^,],){2})

Podczas dzielenia łańcucha"A,B,C,D,E,F,G,", pierwszy powoduje:

A,B, 
C,D, 
E,F, 
G, 

a drugi powoduje:

A,B, 
A, 
C,D, 
C, 
E,F, 
E, 
G, 

Co tu się dzieje? Myślałem, że(X){2} był zawsze równoważnyXX, ale już nie jestem pewien. W moim prawdziwym problemie muszę zrobić coś bardziej skomplikowanego i muszę to zrobić sześćdziesiąt dziewięć razy, więc samo powtarzanie wzoru jest mniej niż idealne.

questionAnswers(2)

yourAnswerToTheQuestion