The issue here is that there can be multiple batches scheduled concurrently, each one with its own timer. Only the first written string from *any* batch doesn't need the delimiter; otherwise, they all need the delimiter. (alternatively, we could just always follow with the delimiter)