Why player start affect player controller reference?

I have this blueprint in the player controller event graph

I made this to get a reference to player pawn however when I land the “player start” using the END key and play the level I get error that I am trying to return none value for variable “turret ref” but if I move the “player start” a little above the ground every thing work fine !! why is that behavior ? and what is the relation between “player start” and getting a reference to play pawn ?

The BP_Turret is a turret placed on cylinder with certain height, I found if the player start position within that cylinder height I get the error but once it is placed on top or further it work fine !!

The Capsule on Player Start has to be above Ground Fully, if its not it says Bad Image and it corrupts the Player start

I found that it also need to be above the cylinder height