AS you push on "nothing in memory" which is not related at all to INDIRECTION 
I have streamlined your code to not leave any traces in memory.

 
ClassMethod PPG() {
 set TABLES(0)="EVEN",TABLES(1)="ODD"
 kill ^||Arturo
 for i=1:1:100 set ^||Arturo(TABLES((i#2)),i)=i 
 set evenTotal=0
 set i=""  if $D(^||Arturo("EVEN",0))
 for  set i=$ORDER(^(i),1,val) QUIT:i=""  if $i(evenTotal,val) 
 zwrite evenTotal kill ^||Arturo QUIT}

OLÉ