DHCP Pool Not Releasing Leases on Balance One Core

Potentially similar to DHCP not releasing unused IPs? (Bug?)

My config:
Untagged “main” VLAN for an office with 30–45 PCs
Subnet: 192.168.100.0/24
DHCP configuration:
192.168.100.0/25 → reserved for static IPs / special devices
192.168.100.128/25 → DHCP pool for general devices
Lease expiration: 1 day
Device: Peplink Balance One Core
Firmware tried: 8.5.3 (rolled back to 8.5.2 with no change)

Issue:
Over the last 2–4 weeks, the DHCP pool (192.168.100.128/25) has been exhausting addresses, causing connectivity issues to servers, network shares, and the internet.
Some devices are getting APIPA addresses (169.254.x.x).
Pool should have plenty of free addresses.
Rebooting the Balance One Core doesn’t reliably fix the problem.
Toggling DHCP off/on sometimes helps temporarily but is not a sustainable solution.
I moved VoIP phones to their own VLAN and address pool to free up space in 192.168.100.128/25, but the issue persists.

Questions:
Is there a known issue in recent firmware with leases not being released?
Any recommended troubleshooting steps or configuration changes to prevent DHCP exhaustion?