Why is ParticleCollider's intersection always zero?

I put this on a particle emitter with collision on:

    public ParticleSystem part;
    public ParticleCollisionEvent[] collisionEvents;
    private void Start(){
        part=GetComponent<ParticleSystem>();
        collisionEvents=new ParticleCollisionEvent[16];
    }
    void OnParticleCollision(GameObject other){
         int safeLength=part.GetSafeCollisionEventSize();
         if(collisionEvents.Length<safeLength)
             collisionEvents=new ParticleCollisionEvent[safeLength];
         int numCollisionEvents=part.GetCollisionEvents(other,collisionEvents.ToList());
         for(int i=0;i<numCollisionEvents;i++)
             Debug.Log("Intersection at: "+collisionEvents*.intersection);//(0,0,0)*

}
The object is correct; it’s not reflecting the intersection world coordinates. Something to check?

part.GetCollisionEvents( GameObject …
this gameobject should be the gameobject particles are getting collision with. Say object A has particles on it. then you should use part(from Object A).GetCollisionEvents( object B, …)