BUG: rolling.apply() with engine="numba" causes memory leak.
Apologies if this is a duplicate, I searched the outstanding bugs and could find this one.

I running pandas version **1.1.4** and numba version **0.51.2**

If I use the 'numba' engine in the rolling.apply() the process leaks memory.

Take this example function:

```python
def rolling_mad(values):
    @nb.njit(nogil=True)
    def _mad(x):
        return np.fabs(x - x.mean()).mean()

    df = pd.DataFrame(values)
    rolling = df.rolling(180, min_periods=1, center=True)
    return rolling.apply(_mad, engine="numba", raw=True).values
```

This snippet demonstrates the issue:
```python

import numpy as np
import numba as nb
import pandas as pd
import resource

values = np.random.rand(1200)

for i in range(20):
    print(f"Memory usage before call {resource.getrusage(resource.RUSAGE_SELF)[2] / 1024:.3f}KB")
    m = rolling_mad(values)
    m = None
    print(f"Memory usage after call {resource.getrusage(resource.RUSAGE_SELF)[2] / 1024:.3f}KB")
```

If I use engine == 'numba' there is a leak
```
Memory usage before call 121.801MB
Memory usage after call 148.547MB
Memory usage before call 148.547MB
Memory usage after call 149.320MB
Memory usage before call 149.320MB
Memory usage after call 151.625MB
Memory usage before call 151.625MB
Memory usage after call 155.672MB
Memory usage before call 155.672MB
Memory usage after call 159.473MB
Memory usage before call 159.473MB
Memory usage after call 159.988MB
Memory usage before call 159.988MB
Memory usage after call 161.535MB
Memory usage before call 161.535MB
Memory usage after call 162.566MB
Memory usage before call 162.566MB
Memory usage after call 163.512MB
Memory usage before call 163.512MB
Memory usage after call 164.543MB
Memory usage before call 164.543MB
Memory usage after call 165.316MB
Memory usage before call 165.316MB
Memory usage after call 167.121MB
Memory usage before call 167.121MB
Memory usage after call 169.184MB
Memory usage before call 169.184MB
Memory usage after call 169.957MB
Memory usage before call 169.957MB
Memory usage after call 170.730MB
Memory usage before call 170.730MB
Memory usage after call 171.762MB
Memory usage before call 171.762MB
Memory usage after call 172.277MB
Memory usage before call 172.277MB
Memory usage after call 173.051MB
Memory usage before call 173.051MB
Memory usage after call 174.082MB
Memory usage before call 174.082MB
Memory usage after call 177.500MB
```

However, if I do not use engine="numba" in rolling.apply() there is no memory leak.

```
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
Memory usage before call 121.801MB
Memory usage after call 121.801MB
```
