UTIL_Remove
UTIL_Remove is a UTIL provided in the Source SDK code for removing ("killing") objects. UTIL_Remove marks an object for deletion on the next frame, instead of the current one. Removing objects on the current frame can cause null pointers which will cause the game to crash, so UTIL_Remove is included to prevent this.
Usage
void UTIL_Remove( IServerNetworkable *oldObj );
Examples
UTIL_Remove( this );
CBaseFire *pEffect = m_hEffect;
if ( pEffect != NULL )
{
UTIL_Remove( pEffect );
m_hEffect = NULL;
}