It was originally a mistake to list .NET 4.0 in the Gen 8.6 Technical Requirements, and it was corrected to .NET 3.5. As of then there was no option to choose the .NET environment for the generated application but to use only .NET 3.5 which is essentially 2.0 under the hood i.e .NET generated applications for servers whether component services or proxies could only use the .NET v2.0 Application pool and had no scope to use 4.0 pools.
UPDATE:
With .NET runtime PTF RTA86103/SS03773 which is now superseded by Gen 8.6 Complete (Continuous Delivery) PTF WKS86200/SO09618, the .NET 2.0, 3.0 and 3.5 versions are no longer to be used with Gen 8.6.
Only .NET 4.0, including using the .NET 4.0 application pool can be used.
.NET 2.0 Controls can still be used and are compatible with .NET 4.0.
All of the .NET runtimes that Gen provides were rebuilt with the .NET 4.0 Framework and were included in RTA86103 and then WKS86200.
1. Current .NET support information can be found under "Application Environments" on page Gen™ 8.6 > Technical Requirements > Third-Party Software Version
2. As of February 2023 there is no support for .NET 6.0 i.e. there are no new Gen 8.6 runtimes to specifically support .NET 6.0 and no testing has been done to check whether the current Gen 8.6 .NET runtimes will run successfully under .NET 6.0. See Gen EDGE Community thread: .Net Proxy compatibility