The answer to your first two questions are "yes". There is a single Thread object for each thread.
"Live" Thread objects always belong to a ThreadGroup, which keeps references to them. Therefore, a runnable Thread can never be garbage collected. They become eligible for collection after they are stopped.