You will have to post some of your script. I have been using overwriteOutput in recent scripts that I am writing with no issues. The only things that can't be deleted are things associated/created with/by numpy arrays, but there is a workaround that I just throw in to make extra sure "out it goes,.... incoming"
if arcpy.Exists(out_fc) and arcpy.env.overwriteOutput:
arcpy.Delete_management(out_fc)
The logic being, that sometimes, I don't want to overwriteOut(s) and sometimes I do. So perhaps the double checking that I do handles things magically.
You can expand that 'if' statement to include various combinations of both with 'and' and 'or' to suit your situation.
PS. Using Spyder, with Pro open at the same time if that matters.