Java threads bug

My problem is in a main method in which I have a do - while loop. The loop starts with a menu with 8 options is followed by a switch condition depending on which option the user has chosen. It works just fine for all options except 2 of them, in which I have used threads. This is my code for one of the options :

case 5:

    MyThread t1 = new MyThread("Thread", (ArrayList<MyObject>)someCatalogue.getTheArrayList());
    t1.start();
    break;

The thread simply takes a string and an ArrayList as parameters. After executing this, I expect the program to display the option menu again, as it normally does. But it does not. I have tried not using threads and then it works. I fixed it by explicitly printing the menu in the run method of the thread, and it is fine, but I am wondering what might be the problem because if I try to debug it, it still works fine. Is this some kind of heisenbug?