Do I need to manually destroy the EntityFieldQuery object?
You shouldn't really have to care about this much. Because PHP will clean up all this stuff at the end of the page's request lifetime. If you really want to cleanup this lingering instance of anything you just unset() it as-needed.

Something is fishy with your code as your EFQ is in a loop, but it's not being used in the loop for anything what-so-ever.