Get the ViewLayer of a Mesh
I do not know that a mesh can have more than one item for users_collection.  Assuming not then this works.

def shouldBeCulled(self, object):
    collectionName = object.users_collection[0].name
    return self.collectionExcluded(bpy.context.window.view_layer.layer_collection, collectionName)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def collectionExcluded(self, viewLayer, collectionName):
    print('looking for ' + collectionName + ' in ' + viewLayer.name)
    if collectionName == viewLayer.name: 
        return viewLayer.exclude

    for childViewLayers in viewLayer.children:
        result = self.collectionExcluded(childViewLayers, collectionName)
        if result is not None:
            print('result for ' + collectionName + ' is ' + str(result))
            return result

    return None