They are virtual and cost nothing to make. The VM hands out space to each program that asks for any but leaves tons of room to grow between each real allocation. These virtual addresses get mapped into the real RAM space as needed and mapped out when they are freed or otherwise inactive. They can even get paged to your storage if needed.
You can reboot to convince yourself it starts back at zero. This is expected that it grows over time and not a bug. The real query is what apps are requesting all that data and if you don't mind looking at files in the terminal
sudo sysdiagnose is a great tool to dive deeper into virtual and real memory allocation.