Por que um programa Java vazio consome memóri

Estou explorando o uso de memória em Java para entender por que meu programa vaza memória. Depois de retirar o código no meu loop while principal, ainda recebo um aumento no uso da memória ao longo do tempo. Ponderando o uso de memória de um programa vazio:

class Nothing
{    public static void main(String[] args)
     {    while(true);    }
}

Eu ainda vi um aumento de memória:

Então, minha pergunta é: Por que ainda existe um padrão de dente de serra? Por que, quando o GC é executado, ele não salva toda a memória (cada vez que o gc é executado (os vales), a memória usada aumenta em 10-20Kb (em comparação com o vale anterior))

EDITAR

java versão "1.6.0_29"

Java (TM) SE Runtime Environment (compilação 1.6.0_29-b11)

liente VM do Java HotSpot (TM) (build 20.4-b02, modo misto, compartilhament

OS: Windows 7 Enterprise-32 bits

questionAnswers(2)

yourAnswerToTheQuestion