I have found a solution, and I publish a solution for people who suffer from a similar problem.
You can simply bind the delegate using ‘Add’ fucntion instead of ‘AddDynamic’ :
void AInitManager::SafeRefUniqueToActor(FReferenceDelegate EventToBind)
{
if (bUniquesEndInit == true)
{
EventToBind.ExecuteIfBound();
}
else
{
// this works correctly
OnUniquesEndInit.Add(EventToBind);
}
}