For .NET, licenses are counted per unique host. This means that 1 host = X number of apps = X number of nodes = 1 license. You can monitor any number of .NET applications on a single box or virtual machine, and only one license will be consumed.
You can check the number of .NET Core Agent licenses being used from within Controller UI by navigating to Settings → Agents → Machine Agents. The number of .NET unique hosts will let you know the total number .NET licenses being consumed.
To free up the license, you might have to recycle worker processes in the application pool and shutdown coordinator services. In that case, follow the steps to uninstall the .NET Agent outlined here.
In the case of Microservice Agents (including .NET), 5 Agents consume 1 APM_ANY license. As mentioned in our License Entitlements and Restrictions documentation, a Microservices product has the same entitlement as 5 APM Any Language units, restricted to use with the following: Docker Containers, all CloudFoundry-based providers, Redhat OpenShift, Heroku Dyno, Microsoft Azure App Services (including Azure WebApps, Azure WebJobs and Azure API Apps), Microsoft Azure Service Fabric, Microsoft Azure Containers, Amazon Elastic Beanstalk, Oracle PaaS (Java and Node.js only) and Bluemix Containers.