What really killed the wolf packs was code breaking.
Once we broke the German submarine code the Germans told us where their submarines would be and our navy met them and killed them.
Yes the aircraft and ASW ships were important but it was the code breakers that made them truly effective.
Very good point...however, it wasn’t until we captured U-505 off Africa (in the spring of 1944) that we could break the coordinate code and do a better job of pin-pointing the location of wolfpacks.
Before that, we had a general idea of where they were (thanks to ULTRA), and steered convoys away from those areas, while sending air patrols and ASW task forces into know operating locations.