If you read the java spec. you will discover that the garbage collector is not really required to do anything ... i.e. it is free to leave memory unclaimed.