When an object (especially tasks) is duplicated, the duplicate object retains the sharing and access permissions of the original (e.g. specific users and groups who were granted access to the original object also have access to the duplicate.) But if the original object had inherited permissions revoked, that revocation does NOT carry over to the duplicate, and there is now wide visibility of the duplicate, where there was limited visibility of the original.
This can be solved if the user manually revokes inherited permissions on the duplicate, but A) there is potential for the user to forget that step and B) if the user who is duplicating the task only has contribute access to the task they are duplicating, they lack the ability to revoke inherited permissions on the duplicate.
If an object has revoked inherited permissions, copies and duplicates of that object should also have revoked inherited permissions.