Hello, I found that below text (from IEEE Standard) is causing to set backoff timer after successful transmission:
*A backoff procedure shall be performed immediately after the end of every transmission with the More Fragments bit equal to 0 of an MPDU of type Data,Management, or Control with subtype PS-Poll, even if no additional transmissions are currently queued. In the case of successful acknowledged transmissions, this backoff procedure shall begin at the end of the received ACK frame. In the case of unsuccessful transmissions requiring acknowledgment, this backoff procedure shall begin at the end of the ACKTimeout interval (as defined in 9.3.2.8). An unsuccessful transmission is one where an ACK frame is not received from the STA addressed by the RA field of the transmitted frame and the value of the RA field is an individual address. If the transmission is successful, the CW value reverts to a CWmin before the random backoff interval is chosen, and the SSRC and/or SLRC are updated as described in 9.3.3. The result of this procedure is that transmitted frames from a STA are always separated by at least one backoff interval.*