Hi CyrillK,
As you have pointed out the VMDK is Thin Provisioned so allocation can and will grow to the fully provisioned size of the disk.
If you could guarantee that unique blocks weren’t changing within the VMDK then growth wouldn’t happen. For example if we consider a VMDK with only four blocks: A,B,C and D. If you kept writing to block A then the VMDK size would be the size of block A however if writes moved across the blocks then it can grow. Sorry if this is obvious.
To try and reduce VMDK allocation growth, make sure that things like Defrag are not being run as this can move data to other blocks within the VMDK increasing the allocation while not increasing the data consumed within the Windows volume. I understand encryption can do a similar thing.
Kind regards.