What if part of the user text is stored in a backup, and the backup is misplaced and it is not deleted in time? What if the file is marked as deleted but it's not zeroed and erased from the disk?
What if the deletion time coincides with a big outage an it is delayed? Or the don't want to delete anything until they are sure all the databases are consistent?
What if the text is in one of the cache just at the time of deletion?
What if the user saves the text as snippet and later the user remove it? When do you start to count the two years?
What if the user submit the sample as a suggestion for an improvement, and it's copied in the automatic rules? What if one of the developers do this without the permission of the user? What if multiple user make the same suggestion?
What if the text is copied in a screenshot in a marketing material? (Probably not applicable in this case.)
What about legal request to track some users? What if the user sues you and you need the info for the trial?
Just put "forever" in the legal terms, and if you want to be nice try to delete at approximately 2 years.