the mobile is on the SDCCH of cell A, waiting for a TCH. The BSC is measuring that the cell A is congested, so it is looking for a TCH on a neighbor cell that meets the radio parameters conditions ( = acceptable RxLev AND enough free timeslots)
BSC finds Cell B meets the requirements. Consequently the mobile sets-up the call on a TCH in cell B, and “succesfully” releases the SDCCH in cell A. That is not called a handover, but a Directed Retry (or Forced Directed Retry).
Seconds later, the mobile is on TCH of cell B, but radio conditions are actually too bad, and it must handover to a better cell. BSC will look for a better cell. The better cell is found to be Cell A. The mobile does a HO from TCH of cell B to TCH of cell A. That is a Handover.