A>В общем наверное вопрос в том как завершить app чтоб все потоки порожденные им умерли вместе с ним?
Добавляй куда-нибудь в список (в ArrayList например) все запускаемые потоки, а при выходе из программы прибивай их вручную (через Thread.Abort например).