Virtual Network in Azure is free of charge. Every subscription is allowed to create up to 50 Virtual Networks across all regions.
Public IP Addresses and Reserved IP Addresses used on services inside a Virtual Network is charged.
Network appliances such as VPN gateway and Application gateway that are run inside a Virtual Network are also charged.
Public IP Addresses and Reserved IP Addresses can be used in services running inside a Virtual Network. They carry a nominal charge as outlined here
A Virtual Network can have one or more VPN Gateways to connect back to on-premises network or other Virtual networks in Azure. The VPN Gateway is charged as detailed here