When is it pointless to introduce a WriteStream and just use #, ? When #, would not be in a loop or recursion. Constructing error messages, class initialisation code, that sort of thing.
If you find yourself doing a lot of concatenations, you are probably missing an abstraction. For example, building up XML by string concatenation would be very silly: you want to build a tree and have it write itself to a stream.