Whoah - why are we building a PointLocator for every lookup?  Shouldn't we build it once, then do a bunch of lookups?  The memory "racking" here (create,delete,create) may be slow for lots of points....