When all strips are selected and overlap is caused, this causes VSE to
hang in infinite loop, because such situation should never happen.
To prevent infinite loop, ensure, that strip overlap is not tested
against single overlapping strip itself.
Prevent overlap that can not be handled because of issue described above
by moving overlapping strip between channels.
Better solution would be to limit transformation of strips if this would cause overlap. Here it seems possible to check strip length, but this is limited internally in sequencer code, so such check is not reliable.
Alternative would be to build list of static points that can limit transformation range (similar to current snapping, but 2D), then check if any strip overlaps with any point and by how much.