Non-variable sources of leaks include unremoved units (dummy casters often biggest culprit), destructibles, and special effects. Occasionally things like dynamically created triggers.
Creating units will invariably leak a little bit regardless of what you do. You'd have to be creating hundreds if not thousands every minute to get lag in 45 minutes or so though for that to be the problem.
To verify that leaks are in fact the issue, check your system manager to see wc3's memory usage when it's lagging. If it's taking gigabytes of memory then yeah it's a leak issue. If not, then you simply might have too many things active at a time (too many units, too many triggers using waits at the same time, etc).