Welcome to the Community,
thin provisioned .vmdk files can be compared with regular Linux sparse files. Basically there are NULL pointers for each block, but as soon as data is written (i.e. the guest requested a data block) the pointer is set and the disk space is allocated. With the growth you see, you may check whether some processes/tasks in the guest OS itself are writing to the different blocks.
André