Destroy(gameObject);
Instantiate(explosionParticles, targetPosition, Quaternion.identity);
onGrenadeExplode();
How are the lines after Destroy() running? I’ve always been under the impression that code stops executing when the object is destroyed, is this not true?