Problem with AddText method was probably caused by incorrect condition in "for loop" inside SuffixTree constructor.
...
In CanonizeNew we have suffix.firstSymbolIndex <= suffix.lastSymbolIndex condition, which can be replaced by suffix.Implicit(), where Implict ->return lastSymbolIndex >= firstSymbolIndex;