SendMessage is running before Start

I am instancing and object then sending a message to the new instance. I added some debug messages with Time.time and it appears that SendMessage runs before Start() in the same frame. This is a problem since Start() will often be used to initialize something. In my case, it is a something which I need to be available when SendMessage triggers a call.

Is this the expected behaviour or a bug?

Shouldn’t Start() be the first call the frame after instanciation? The wiki doesn’t have this information here:

Start() is called on the next frame, but SendMessage() is delivered immediately. Awake() and OnEnable() are called before Instantiate() returns, so if you can sufficiently initialize the object there, do that.