Exactly. Idiomatic C# code does not depend on finalizers to release resources. Finalizers are typically only used as a last resort to prevent handle leaks, it is only memory deallocation that is nondeterministic.
Memory deallocation can be done as deterministic as malloc/free via the native heap APIs.