Should change contains to intersects.  If a school falls on neighborhood edges it won't be included in either polygon using contains, intersects guarantees it will go to at least one as long as there aren't slivers.