Destroy instantiated GamObject after an If statement

function LateUpdate () {
    if(transform.localScale == Vector3(0.1,0.1,0.1)){
        Destroy(gameObject);
    }
    transform.localScale -= Vector3(1,1,1)*Time.deltaTime/4;
}

Basically I have this script attached to a prefab which is instantiated by another script, for some reason when i try to destroy this prefab after its scale reaches Vector3(0.1,0.1,0.1) it does not work.

transform.localScale will never exactly equal Vector3(.1, .1, .1). Use <= instead.

I think the problem is that you are using "if(transform.localScale == Vector3(0.1,0.1,0.1))" instead of "if(transform.localScale <= Vector3(0.1,0.1,0.1))". With the "==" it will only be destroyed in the one frame that it has that value, when it could in reality easily pass that value without hitting it.