s in Debian, for example, it’s going to pull the Mono runtime to execute it as well because it’s been built, like most C# apps, for JIT compilation.
.NET Core handles JIT compilation file. It looks like the KeePass developers have not yet updated it to use .NET Core though, which is why it’s pulling Mono in.
KeePassXC definitely looks nicer, but it’s definitely possible to do that with C# too. The KeePass developers just haven’t kept up with modern .NET.