The program behavior is not allowed to change by inlining. That means the local variables will have to be destroyed when InlineFun returns (inlining or not).
Of course, "destroying" is a purely formal term. As long as the program behaves as if the variable was destroyed, the compiler can do whatever it wants.
An optimizing compiler will likely defer the actual "destruction" of "local" (which is just adding to the stack pointer in this case) to the end of Fun(). But since "local" is not used anywhere, no variable will be created or destroyed anyway.