Having gone to the trouble of trying to evict, and even considered opening and closing sessions. It sounds as though there is enough headspace in your code to consider doing a filtered get, i.e. get all items of the collection type where the parent id is that of your parent object. You might have to extend your repository or dao, depending on how you are working with NH, but as others have said, it is hard to be more specific without an example. Main point is that you get the child objects in a query for that type, filtered by the parent id.
This would be a fresh get, so you'd get any new or altered objects that were created by some other process, and then you could set that collection as the collection in your parent object. NH should get over this when you try to save as it can make assumptions about your objects and save or update as appropriate. This could be of use to you if there is likely to be some time lag between getting the parent object and saving it again.
Problem with this approach is that a sort of merge type operation is required. You may want to add any new objects that were created in process so that you don't loose your changes when the collection is updated. Hope this helps, give us some more info if you're still stuck.