Assaf,

One more thing I would like to add here:

The statistics on the GTT may not be optimal for all sessions when Oracle computes the execution plan.

What I did in one of the projects is:
1. Created a permanent table, loaded data and analyzed the table.
2. Verified that the execution plan is optimal.
3. Exported of the table and index stats from the permanent table
4. Imported the stats to the GTT.

After this exercise, I saw consistent execution plan.

You may need to do it if you see slow performance.