Instead of changing the pin architecture, I decided to destroy the parent game object. Might save you a headache of rearranging the pin architecture was giving you trouble:
void OnTriggerExit(Collider pins)
{
if (pins.GetComponentInParent<Pin>())
{
Destroy(pins.transform.parent.gameObject);
}
}