New findings here: it's not a "file join" direct (may be still "Tcl_FSJoinToPath" despite called) - is enough to give to "file exists" an object, that will be destroed hereafter, because this code leaks exact like another:
```
time {file exists [string trim "C:/example.txt "]} 100000
```

May be it is Tcl_FSConvertToPathType.