Под Windows dotnet был загружен в память ещё при старте системы. В Linux он был загружен при старте Вашего приложения. Вот на размер runtime библиотек dotnet и видите разницу. Зато последующие запущенные приложения на dotnet уже загруженные в память so грузить не будут.