Why does a thread get locked?