But having Windows containers run on a Linux VM means that you won't have to spin up another Windows VM and pay the compute hours just to host a small subset of your application infrastructure that depends on Windows. Likewise, if you're primarily a Windows shop, being able to run Linux containers from a Windows VM means you won't have to spin up an entire Linux VM because you want run some NoSQL database runs only on Linux.
It's really not that difficult to understand the motivations.
No that's wrong
Hypervisor (optional) -> Container Host -> Container
The hypervisor can be Windows or Linux, but the Container Host OS has to match the container type, Windows Containers on Windows, Linux on Linux.
If you have a dontnet application running on coreCLR and you want to deploy this to a Linux container host then that's a Linux container not a windows container, so there is no windows OS licence involved.
If Microsoft decide to license the number of containers running on a host, like they've done for windows VMs on a Hyper-V node, they might as well just throw in the towel and go home now.