The added workload with Basic strings is automatic garbage collection. String expressions which contain string functions generate temporary strings.
These strings have to be logged with the garbage collector for deletion at the end of the current Basic statement.
Since string functions may call other string functions, all of this has to work recursively.
Similarly local strings must be deleted at the end of a procedure, and static & global strings must be deleted at the end of the program.
And of course every time a string variable is assigned new content the original allocation has to be deleted first.
Charles