The RTProcessVar datasets store all collected data by default. In your case that is 512 * 60 * 60 = 1.84 million data points per hour.
It doesn't sound like you need to keep all of those data points. In that case the datasets should be auto-truncated. Since you are displaying 15 seconds worth of data, you can truncate the data once you get more 30 seconds worth of data in the buffer. The data is truncated so there are still enough data points to fill the entire scroll frame. In the example below the dataset is auto-truncated when the number of data points reaches 15360. It is truncated to 10000 data points.
Use the RTProcessVar AutoTruncateDataset, AutoTruncateMinCount, and AutoTruncateMaxCount properties. When the scroll buffer reaches the AutoTruncateMaxCount value, it deletes the oldest data points until there are only AutoTruncateMinCount values in the buffer.
For example:
RTProcessVar EngineRPM1 = new RTProcessVar("RPM", defaultattrib);
.
.
.
EngineCylinders1.AutoTruncateDataset = true;
EngineCylinders1.AutoTruncateMinCount = 10000;
EngineCylinders1.AutoTruncateMaxCount = 15360;
Once you set these properties, you don't have to do anything else, the data will be truncated automatically.