Unfortunately, what you are seeing is an implementation detail of the join() method... I explained it a couple of times before. It may be worth it to search the forums...
Rafael you are right that this works like waiting for a thread to die. But this depends on the internal implementation of the Thread class. So this will not be tested in SCJP...