Process virtual memory size can grow due to heap allocation and memory-mapped files, but the kernel does not typically shrink a process's virtual memory space even when memory is freed. This is because memory is released back to the process's internal free list, not necessarily to the system. Option B captures this concept.