After emerge -C @my-set the set @my-set is not removed from /var/lib/portage/world_sets. This is somewhat inconsistent with the behavior that emerge @my-set inserts this file there. If you want to fix this bug, please observe the following related problem: It is currently not possible not possible to unmerge a file which is in world and in a set from world_sets: Even the natural way to unmerge both simultaneously with emerge -C file @my-set does not work. Of course, this is natural if @my-set remains in world anyway as it is the case now, but I think this should be possible once portage is able to remove @my-set from world_sets.
*** Bug 266093 has been marked as a duplicate of this bug. ***
This seems to be fixed in portage-2.2_rc72. There's also --deselect support: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=10c7d5d1a1329f846baad3659486c276dafddbba