I think only 3 is true.
1) Local variable are present in the activation record of procedures which will be present in program stack and not heap.
2) Lifetime of local variables in stack allocation is only within the procedure.
3) Symbol table has to grow dynamically and hence memory heap has to be used.