lua will treat consecutive concatenation in the same expression as a single operation, and will only internalize the result of the full concatenation:
Will only internalize the string "Hello, world!" which may need to be collected later on.
So, in most cases, it's not useful to replace this expression by a call to strjoin().
What should be avoided is code like "a = a .. b" in loops. And even then, it strictly depends on the size of the string and the number of time the loop is executed to determine if using a temporary table is better.