why does wireguard create a new routing table if I specify AllowedIPs = 0.0.0.0/0

Why does wireguard create a new routing table if I specify AllowedIPs = 0.0.0.0/0 ?
Example:
when
AllowedIps = 192.168.41.0/24
then wireguard not creating new routing table .
look:


USR> ip route show table all | grep "table" | sed 's/.*\(table.*\)/\1/g' | awk '{print $2}' | sort | uniq
local
USR> ip rule list
0:    from all lookup local
32764:    from all lookup main suppress_prefixlength 0
32765:    not from all fwmark 0xca6c lookup 51820
32766:    from all lookup main
32767:    from all lookup default
USR> ip route list
.....
192.168.41.0/24 dev wg0 proto static scope link metric 50

when
AllowedIps = 0.0.0.0/0
then wireguard Creating new routing table !!!
look:


USR> ip route show table all | grep "table" | sed 's/.*\(table.*\)/\1/g' | awk '{print $2}' | sort | uniq
52035  <--------?
local
USR> ip route show table 52035
default dev wg0 proto static scope link metric 20050
USR> ip rule list
0:    from all lookup local
31304:    from all lookup main suppress_prefixlength 0
31305:    not from all fwmark 0xcb43 lookup 52035    <-------??????
32764:    from all lookup main suppress_prefixlength 0
32765:    not from all fwmark 0xca6c lookup 51820
32766:    from all lookup main
32767:    from all lookup default

Why is this happening ?

Serg