I've solved my problem. I incorrectly assumed that this was some kind of usual ArcMap behavior, and I simply needed to find a way to deal with it. Thank you for your replies, Jason, while I didn't go through the debugging process you suggested, you did get me thinking along the correct lines.
Since I have a number of other ArcMap add-ins installed on my machine, I decided to uninstall all of them then test for this behavior. After doing this, it worked fine, the locks were going away even after saving edits. I reinstalled my current project and it still worked fine. Using the process of elimination, I narrowed the problem down to an add-in called Attribute Assistant, from ESRI's water utilities team. Maybe there is a memory leak, as Jason suggested, but I didn't look into it further since I don't need the Attribute Assistant anymore. They have also updated it a number of times since I installed it, so maybe it's fixed.