Answer
Check whether the Final Retention field itself was ever populated on the contract — if it was left empty, the full retained amount falls under Interim Retention instead, which follows different release handling, so there may be nothing recorded as "final" to release even though the contract is otherwise complete.