Multithreading with Photon/Unity

Hello,

As far as I understand Photon engine handles some networking stuff on a separate thread. Does it mean that network event callbacks are also invoked on a separate thread or are they synced back to the "script execution thread" of Unity?

Should I synchronize access to certain objects when using Photon with Unity? Does it matter whether using PUN or not?

Or can I safely assume when Photon event callback is being executed, it won't be interrupted by another callback call until the first one is processed?