Move the obtain queue functions out of the loop. You don't want to obtain a new queue reference each and every loop iteration. That probably takes extra time, and certainly eats up resources.
You only need 1 obtain before the loops and can feed the queue wire into both loops. Also, put a wait statement inside your Enqueue loop. You don't need to enqueue items at full speed. Third, don't make hidden controls just for the type definition for the obtain queue. Change them into constants.