O retorno retroativo catastrófico não deveria estar acontecendo neste regex

Alguém pode explicar por que o mecanismo de regex do Java entra no modo de retorno catastrófico nesse regex? Cada alternância é mutuamente exclusiva com todas as outras alternâncias, pelo que se

^(?:[^'\"\\s~:/@#\\|\\^\\&\\[\\]\\(\\)\\\\\\{\\}][^\"\\s~:/@#\\|\\^\\&\\[\\]\\(\\)\\\\\\{\\}]*|
\"(?:[^\"]+|\"\")+\"|
'(?:[^']+|'')+')

Text:'pão de açúcar itaucard mastercard platinum SUSTENTABILIDADE])

adição de correspondência possessiva a algumas das alternativas corrige o problema, mas não tenho idéia do porquê - a lib de regex do Java deve ser extremamente complicada para voltar atrás em ramificações mutuamente exclusiva

 ^(?:[^'\"\\s~:/@#\\|\\^\\&\\[\\]\\(\\)\\\\\\{\\}][^\"\\s~:/@#\\|\\^\\&\\[\\]\\(\\)\\\\\\{\\}]*|
 \"(?:[^\"]++|\"\")++\"|
 '(?:[^']++|'')++')

questionAnswers(3)

yourAnswerToTheQuestion