The way, the CS batching in `TransportRolloverAction` is written is broken for large batches of tasks. Each task result will contain the cluster state after applying the task. This consumes unmanageable amounts of memory for large cluster states if a larger number of rollovers gets batched, causing master nodes to run out of heap from endless `RolloverResult` getting retained.

<img width="691" alt="image" src="https://user-images.githubusercontent.com/6490959/193704411-85979256-69bf-4db4-818e-f5d8d7888605.png">

We must find a way to not retain cluster states like this in the task results.
server/src/main/java/org/elasticsearch/action/admin/indices/rollover/TransportRolloverAction.java
TransportService transportService,
        ClusterService clusterService,
        ThreadPool threadPool,
        ActionFilters actionFilters,
        IndexNameExpressionResolver indexNameExpressionResolver,
        MetadataRolloverService rolloverService,
        Client client,
        AllocationService allocationService
    ) {
        super(
            RolloverAction.NAME,
            transportService,
            clusterService,
            threadPool,
            actionFilters,
            RolloverRequest::new,
            indexNameExpressionResolver,
            RolloverResponse::new,
            ThreadPool.Names.SAME
        );
        this.client = client;
        this.rolloverTaskExecutor = new RolloverExecutor(
            allocationService,
            rolloverService,
            new ActiveShardsObserver(clusterService, threadPool)
        );
    }
    @Override
    protected ClusterBlockException checkBlock(RolloverRequest request, ClusterState state) {
        IndicesOptions indicesOptions = IndicesOptions.fromOptions(