@robconery:
1) StringBuilder.Length definitely doesn't call .ToString() or our World would be really sad ;) 
2) I'm not sure what you mean with: "new StringBuilder()" it is the same old SB (well renamed to 'jsonArray' for better naming)
The whole difference is I avoid "show above" string operations, but instead play with a SB a little bit longer, preparing json array string inside SB.
Hope that helps ;)