It's not the case for AOT, but it is for "self-contained", at least as of .NET 6.
> When the app starts, the managed DLLs are extracted and loaded in memory, avoiding the extraction to a folder.
https://learn.microsoft.com/en-us/dotnet/core/deploying/sing...