why this function is always returning Object type?

I have a component attached to a Gameobject that contains an event with a Gameobject as parameter:

[

System.Serializable]
public class ReleasedOnDifferent : UnityEvent<GameObject>
{

}
releasedOnDifferent.Invoke(this.gameObject);

the event is linked to a simple function as follow:

public void releasedOnDifferent(GameObject gameObject)
{
}

from inspector:
153531-cattura.png

but when the event is invoked this happens:

ArgumentException: Object of type ‘UnityEngine.Object’ cannot be converted to type ‘UnityEngine.GameObject’.

it seems that when “Invoke(this.gameObject)” is called a Object type is passed instead of Gameobject

Am I missing something?

alt text

solved by changing from static to dynamic parameter!