It is possible to use a single instance of
Telnet object to launch multiple shells with
StartVirtualTerminal methods or bind it to multiple
VirtualTerminal objects. Each of these operations actually opens a new telnet connection and all the connections are independent, which means they can run asynchronously and be used from different threads.
TerminalControl and 'VirtualTerminal` objects themselves are not thread-safe, which means that you can't use them from multiple threads at the same time (unless you provide synchronization the access yourself).
(Also, please keep in mind that some servers might limit the maximum number of connections from a single IP address.)