GetStringAndRelease allocates O(1), while the += operator allocates O(n), where O is (current) string length and n is the number of calls. The first ends up being much more efficient since allocation costs virtually nothing and the GC only has to pin one object instead of n during clean up.

