Thread.sleep () nunca retorna

Estou tendo um erro estranho comThread.sleep() em Java. Por alguma razão, quando eu chamo o sono em algumas máquinas, ele nunca retorna. Não consigo descobrir o que poderia estar causando esse comportamento. No começo, eu acho que o erro pode estar em outro lugar no meu código, então fiz o teste de sono mais simples possível:

public class SleepTest {
    public static void main (String [] args) {
        System.out.println ("Before sleep...");
        try {
            Thread.sleep (100);
        } catch (InterruptedException e) {
        }
        System.out.println ("After sleep...");
    }
}

Na maioria das máquinas ele funciona, mas em várias máquinas que estou acessando remotamente, ele faz uma pausa indefinida entre as instruções de impressão. Eu esperei até meia hora sem mudança de comportamento. As máquinas que estão exibindo esse erro são máquinas Linux. Aqui estão algumas informações sobre as máquinas:

$ uname -a
Linux zone29ea 2.6.32-220.17.1.el6.x86_64 #1 SMP Tue May 15 17:16:46 CDT 2012 x86_64 x86_64 x86_64 GNU/Linux
$ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

O que poderia estar causando esse comportamento?

ATUALIZAR

Versão revisada, que ainda nunca termina:

public class SleepTest {
    public static void main (String [] args) {
        new Thread () {
            public void run () {
                System.out.println ("Before sleep...");
                try {
                    Thread.sleep (100);
                } catch (InterruptedException e) {
                    e.printStackTrace ();
                }
                System.out.println ("After sleep...");
            }
        }.start();
    }
}

questionAnswers(3)

yourAnswerToTheQuestion