Using ScheduledExecutorService to save(Entites), I get detached Entity passed to persist error

I have a very curious Error that I cant seem to get my head around.
I need to use a ScheduledExecutorService to pass the Survey Entity I created to be edited and then saved as a new Entity.

public void executeScheduled(Survey eventObject, long interval) {
    HashMap<String, String> eventRRules = StringUtils.extractSerialDetails(eventObject.getvCalendarRRule());

    long delay = 10000;

    ScheduledExecutorService service = Executors.newScheduledThreadPool(1);

    Runnable runnable = new Runnable() {
        private int counter = 1;
        private int executions = Integer.parseInt(eventRRules.get("COUNT"));
        Survey survey = eventObject;
        public void run() {
            String uid = eventObject.getUniqueEventId();
            logger.info("SurveyController - executeScheduled - Iteration: " + counter);
            String serialUid = null;
            if (counter == 1) {
                serialUid = uid + "-" + counter;
            } else {
                serialUid = StringUtils.removeLastAndConcatVar(eventObject.getUniqueEventId(), Integer.toString(counter));
            }
            if (++counter > executions) {
                service.shutdown();
            }

            survey.setUniqueEventId(serialUid);
            try {
            executeCreateSurvey(survey);
            } catch(Exception e) {
                logger.debug("SurveyController - executeScheduled - Exception caught: ");
                e.printStackTrace();
            }
        }
    };

    service.scheduleAtFixedRate(runnable, delay, interval, TimeUnit.MILLISECONDS);
}

When the executeCreateSurvey(survey) Method is run without the ScheduleExecutorService, it works flawlessly.
Yet when it is executed inside the run() Method, I get the “detached entity passed to persist” Error each time the save(survey) Method is run within the executeCreateSurvey() Method….

The executeCreateSurvey() Method where the .save() Method is called:

public ResponseEntity<?> executeCreateSurvey(Survey eventObject) {
    MailService mailService = new MailService(applicationProperties);

    Participant eventOwner = participantRepositoryImpl.createOrFindParticipant(eventObject.getEventOwner());
    eventObject.setEventOwner(eventOwner);

    Survey survey = surveyRepositoryImpl.createSurveyOrFindSurvey((Survey) eventObject);

    // Saves additional information if small errors (content
    // errors,.. )
    // occurs
    String warnMessage = "";
    List<Participant> participants = new ArrayList<Participant>();
    for (Participant participantDetached : eventObject.getParticipants()) {

        // Check if participant already exists
        Participant participant = participantRepositoryImpl.createOrFindParticipant(participantDetached);
        participants.add(participant);

        // Only create PartSur if not existing (Update case)
        if (partSurRepository.findAllByParticipantAndSurvey(participant, survey).isEmpty()) {
            PartSur partSur = new PartSur(participant, survey);
            partSurRepository.save(partSur);

            try {
                mailService.sendRatingInvitationEmail(partSur);
                surveyRepository.save(survey);
            } catch (Exception e) {
                // no special exception for "security" reasons
                String errorMessage = "error sending mail for participant: " + e.getMessage() + "/n";
                warnMessage += errorMessage;
                logger.warn("createSurvey() - " + errorMessage);
            }
        }
    }

    // Delete all PartSurs and Answers from removed participants
    List<PartSur> partSursForParticipantsRemoved = partSurRepository.findAllByParticipantNotIn(participants);
    logger.warn("createSurvey() - participants removed: " + partSursForParticipantsRemoved.size());
    partSurRepositoryImpl.invalidatePartSurs(partSursForParticipantsRemoved);

    return new ResponseEntity<>("Umfrage wurde angelegt. Warnungen: " + warnMessage, HttpStatus.OK);
}

What could the reason be for this?
I have not been able to find this Problem anywhere so far.