The tokenization process was creating excessive allocations: StringBuilder.ToString() called for every token in TokenStore (including duplicates) For 100k tokens with 50% duplicates: 50k unnecessary ...