Ensure tokens-in-batch is always an upper bound
# What does this PR do ?

This PR fixes an edge case where a batch may contain more tokens than allowed by `tokens-in-batch`

**Collection**: NLP

# Changelog 
- In case a batch that contains too many tokens has fewer than 8 sentences the last sentence is evicted to a new batch to ensure we don't break the `tokens-in-batch` bound
- Before it would not evict any sentence leading to batches that are too big.


**PR Type**:
- [ ] New Feature
- [x] Bugfix
- [ ] Documentation