The logic seems a bit complicated with the grid snapping (unless it's really needed?) I would just snap the object in place when overlapping the slot and is 'InDrop'. If you are allowing the objects to be placed and snapped to any slot, even incorrect ones then you will need to make some logic to determine if the slot is full, basically a boolean for empty/full. If you're not allowing objects to be incorrectly placed then have the object return to origin position when 'InDrop' and not overlapping the correct slot.
Also it looks like event 26 is a bit screwed and causing bugs? You have blue and green touch but then orange match. Anyway, if you need any more help I am here : D