Zabbix agent item 'system.swap.size[,pfree]' mays show wrong value on virtualized Windows hosts (VMWare, Hyper-V etc). Behavior is documented:**
So, maybe we should use performance counter in the template instead of system.swap.size item?
In my case I've just replace it to 'perf_counter_en["\Paging file(_Total)\ % Usage"]' and change trigger expression as showing below:
E.g. I have VM shv-vexch03 where performance counter returns ~8% page file usage and system.swap.size[,*pfree*] which returns 66% usage (100 - system.swap.size[,pfree]):