There are two limitations that spring to mind - Swap File size and the space needed for successful Defragmentation. The Swap file should generally be 1.5 - 2 times the physical RAM so if you have 2GB Ram you need at least 4GB for the swap file. click here
Defragmentation on Windows recommends at least 15% free space to work successfully. So if you take the above scenario 25 + 4 = 29 GB and add roughly 15% say 4.5 Gb gives you 33.5 Gb. Then I would round that up to 35 Gb to allow for temporary file build up and additional data.