The question does not make sense; and it is not really related to threading, as formulated.
There is nothing you could do not "in thread", even if your thread is only one.
Also,
dt
cannot be "disposed", but it will be garbage-collected. Garbage collections and disposal are different things; read on these topics.
And it does not matter on what thread you do the call. The only issue is the
reachability of objects. If you keep some reference to the object of the class declaring
dt
, it will be kept in memory. Please learn how it works:
https://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29[
^].
Of course, if you share any object, such as
dt
, between threads, you need to do this through
mutual exclusion mechanism, one of the ways of thread
synchronization:
https://en.wikipedia.org/wiki/Mutual_exclusion[
^],
https://msdn.microsoft.com/en-us/library/ms173179.aspx[
^],
https://msdn.microsoft.com/en-us/library/c5kehkcz.aspx[
^].
—SA