In doing some performance testing I've run into an issue which appears to be GridNav:GetAllTreesAroundPoint leaking memory when called frequently. It's possible that it will be released at some point, but I have not seen that. If I run:

Code:
for i=1,30 do
  Timers:CreateTimer(function()
    GridNav:GetAllTreesAroundPoint(hero:GetAbsOrigin(), 5000, true)
    return .03
  end)
end
This code starts up 30 timers (thinkers) which each run once every frame (30 times a second, or .0333 seconds between runs), effectively calling GridNav:GetAllTreesAroundPoint() 900 times a second. In the particular test case there was around 600 trees found in the 5000 radius given. After several seconds of running, the console begins to spit out the following:

Code:
[ W VScript          ]: LUA Memory usage warning: The VM has hit a new high usage of 83,886,080 bytes.
[ W VScript          ]: LUA Memory usage warning: The VM has hit a new high usage of 117,440,512 bytes.
[ W VScript          ]: LUA Memory usage warning: The VM has hit a new high usage of 150,994,944 bytes.
[ W VScript          ]: LUA Memory usage warning: The VM has hit a new high usage of 184,549,376 bytes.
I cancelled all the running timers and waited several minutes, then started them again and quickly started receiving the following lines:

Code:
[ W VScript          ]: LUA Memory usage warning: The VM has hit a new high usage of 218,103,808 bytes.
[ W VScript          ]: LUA Memory usage warning: The VM has hit a new high usage of 251,658,240 bytes.
This leads me to believe that the entities returned by this function are remaining resident in memory in lua. I recognize that this is an absurdly excessive amount of calls to make (with such a large radius especially), but I felt it still potentially merits concern that the memory is potentially not getting cleaned up correctly.

Thanks for your consideration of this issue,
--BMD