If the old and the new are doing the same, failing to disengage, then sounds to me like something upstream of the actual starter mounted solenoid is acting up and failing to open.
Check for a pilot RELAY upstream of the starter mounted solenoid. These are often used as the starter solenoid can draw a lot of current which the key switch cannot handle long term. They are usually nearby. Can look like a small can or a small tower. Trace starter solenoid small wiring the back to find it.
If that pilot relay is sticking the starter will do what you describe.
ALso check the actual start button or switch. If this fails the pilot relay may be doing what it is told even though wrong.
Can't help with a mechanic, sorry.