A translation session contains information relevant to a particular translation pass. This typically corresponds to a single invocation of the translator, although you could retain a translation session if you wished to re-use it.
The TranslationSession is not intended to be thread-safe; it is a stateful construct, and several threads running on it at once would have an undefined effect.