Expired contracts will still show in the generate contracts process until the contract is deleted from a candidate record.
To remove a person's contract from the generate contract process, the contract will need to be deleted in the candidate record. Even if the contract date is set to expired the contract will still show up in the generate contract screen until it is deleted.

To delete contracts from users:
  1. Go to Enrollment management
  2. Enrollment > Assign Contract Types
  3. Click View
  4. Click Delete next to each users' name to remove the contract