For example, C does not natively support garbage collection, but Python certainly does. The most popular Python implementation is implemented in C.
Its worth also pointing out that some languages that compile to C, still support features that C does not (for example, Chicken Scheme compiles to C and supports both garbage collection and continuations, neither of which C supports natively).
And GHC still allows compiling Haskell (lazy, functional, garbage-collected) via C (eager, procedural, manually managed).
That's a bad default assumption
What is possible to express in a language is determined by its specification, not its implementation. Of course, it's up to the implementor to correctly adhere to the spec, but this is also independent of language choice. It's certainly possible, and has been done, to implement a language with GC, TCO, lazy evaluation, purity, etc etc, in a language like C++ which has none of those things. For example, the nix language, which has all of those things except TCO (which it certainly could have in theory) is implemented in C++.