### CI Link

https://gradle-enterprise.elastic.co/s/xws6gmgwdwnmm/tests/overview?outcome=failed

### Repro line

./gradlew ':x-pack:plugin:esql:test' --tests "org.elasticsearch.xpack.esql.CsvTests" -Dtests.method="test {rename.RenameProjectEval}" -Dtests.seed=F32BCA1B870438F -Dtests.locale=ar-LY -Dtests.timezone=UTC -Druntime.java=21	

### Does it reproduce?

Yes

### Applicable branches

main

### Failure history

_No response_

### Failure excerpt

```
java.lang.AssertionError: java.lang.IllegalStateException: can't release already released block [IntVectorBlock[vector=IntArrayVector[positions=3, values=[2, 5, 4]]]]
```
x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action/EsqlActionIT.java
List<Doc> actualDocs = new ArrayList<>();
            for (int i = 0; i < getValuesList(results).size(); i++) {
                List<Object> values = getValuesList(results).get(i);
                actualDocs.add(new Doc((Long) values.get(1), (String) values.get(0)));
            }
            assertThat(actualDocs, equalTo(allDocs.stream().limit(limit).toList()));
        }
    }
    public void testEvalWithNullAndAvg() {
        try (EsqlQueryResponse results = run("from test | eval nullsum = count_d + null | stats avg(nullsum)")) {
            logger.info(results);
            Assert.assertEquals(1, results.columns().size());
            Assert.assertEquals(1, getValuesList(results).size());
            assertEquals("avg(nullsum)", results.columns().get(0).name());
            assertEquals("double", results.columns().get(0).type());
            assertEquals(1, getValuesList(results).get(0).size());
            assertNull(getValuesList(results).get(0).get(0));
        }
    }
    public void testFromStatsLimit() {
        try (EsqlQueryResponse results = run("from test | stats ac = avg(count) by data | limit 1")) {
            logger.info(results);
            assertThat(results.columns(), contains(new ColumnInfo("ac", "double"), new ColumnInfo("data", "long")));
            assertThat(getValuesList(results), contains(anyOf(contains(42.0, 1L), contains(44.0, 2L))));
        }
    }
    @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/99826")
    public void testFromLimit() {
        try (EsqlQueryResponse results = run("from test | keep data | limit 2")) {
            logger.info(results);