oracle needs to run this during object resulution phase.
Objects are always resolved in this order 1. Current schema 2. private synonyms 3. public synonyms
Raj
As far as details of why Oracle runs this I do not know of any reference other than the general information given in the Performance manual where Oracle discusses the steps followed in parsing SQL.