For ManagedThreadID, MSDN says:
Gets a unique identifier for the current managed thread.
In what context does \"unique\" apply?
Since threads from the ThreadPool
also have to honour this property, and there is one ThreadPool
per process (as stated in this MSDN article), I would think that the ManagedThreadId is most likely unique per process.
Thread ID is unique per process during a thread's lifecycle. After the thread terminates, its number can be reused.