# ObjectPool&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.objectpool-1/)

## Allocate {#allocate-91405290}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.objectpool-1/methods/allocate-91405290/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/ObjectPool.cs#L61-L69)

```csharp
public virtual T Allocate()
```

Allocates a pooled resource

## Free(T) {#free-t-0fcd38ed}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.objectpool-1/methods/free-t-0fcd38ed/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/ObjectPool.cs#L78-L81)

```csharp
public virtual void Free(T resource)
```

Returns a resource to the pool

### Parameters

- `resource` (`T`)
