After leaving the xsession all processes started within it should be also killed. Thats not true for the bash started with xterm. I usually have 5-6 xterms on my xsession and after a few rounds of stop and start the X there were some tenths of 'bash' still running. Of course you can always kill them, either manually or using a script, or there must be a way to prevent that happening. But, it should not happen by default and for a novice user thats not a nice behaviour since after some period of continuous uptime the number of processes will exceed the limit.
I believe this is a dup of bug #2767, which I entered on 5/14/99. I don't know if this is related, but I've noticed that if you start an xterm without the "&" (i.e. it's in the shell foreground), then hit Ctrl-c, it won't die, but it will freeze up. I'm almost 100% sure that this situation should, and normally does, just kill the xterm.
*** This bug has been marked as a duplicate of 2767 ***