Hi Daniel,
Sorry I lost the context. I checked and tried your codes, the below is what I get:
1. I got an exception with your attached tiff file, the exception shows a memory issue looks like this is related with the high resolution. I test it simply with the below codes:
GeoTiffRasterLayer rasterLayer = new GeoTiffRasterLayer(@“C:\Users\troy\Downloads\002_001_Tif-Files\ALK_5493000_5652600.tif”);
//GeoTiffRasterLayer rasterLayer = new GeoTiffRasterLayer(tifFile);
rasterLayer.LibraryType = GeoTiffLibraryType.UnmanagedLibTiff;
rasterLayer.LowerThreshold = 0;
LayerOverlay layerOverlay = new LayerOverlay();
layerOverlay.Layers.Add(rasterLayer);
wpfMap1.Overlays.Add(layerOverlay);
wpfMap1.CurrentExtent = rasterLayer.GetBoundingBox();
2. As the tiff files doesn’t work in my end, I test the world.tif file with your codes and the cached tiles are matched between the “GenerateCacheFiles” method and add the property "TileCache"on layerovelay. Here is my test codes:
Enable "TileCache"on layerovelay:
wpfMap1.MapUnit = GeographyUnit.DecimalDegree;
string tifFile = @“D:\TestData\World.tif”;
GeoTiffRasterLayer rasterLayer = new GeoTiffRasterLayer(tifFile);
rasterLayer.LibraryType = GeoTiffLibraryType.ManagedLibTiff;
rasterLayer.LowerThreshold = 0;
rasterLayer.Open();
LayerOverlay layerOverlay = new LayerOverlay();
layerOverlay.TileType = TileType.MultipleTile;
layerOverlay.Layers.Add(rasterLayer);
layerOverlay.TileCache = new FileBitmapTileCache(@“C:\Users\troy\Downloads\CacheFolder1”, System.IO.Path.GetFileName(tifFile));
wpfMap1.Overlays.Add(layerOverlay);
wpfMap1.CurrentExtent = rasterLayer.GetBoundingBox();
double targetScale = wpfMap1.CurrentScale;
ZoomLevelSet set = new ZoomLevelSet();
for (int i = 0; i < 20; i++)
{
set.CustomZoomLevels.Add(new ZoomLevel(targetScale));
targetScale = targetScale / 1.4;
}
wpfMap1.ZoomLevelSet = set;
wpfMap1.Refresh();
Using GenerateCacheFiles method:
layerOverlay.Layers.Add(rasterLayer);
//layerOverlay.TileCache = new FileBitmapTileCache(@“C:\Users\troy\Downloads\CacheFolder1”, System.IO.Path.GetFileName(tifFile));
wpfMap1.Overlays.Add(layerOverlay);
wpfMap1.CurrentExtent = rasterLayer.GetBoundingBox();
…
var counter = 0;
foreach (var zoomLevel in wpfMap1.ZoomLevelSet.GetZoomLevels())
{
if (counter < 4)
{
foreach (LayerOverlay overlay in wpfMap1.Overlays)
{
GeoTiffRasterLayer layer = (GeoTiffRasterLayer)overlay.Layers.First();
GenerateCacheFiles(layer, zoomLevel.Scale, wpfMap1.CurrentExtent, wpfMap1.MapUnit, @“C:\Users\troy\Downloads\CacheFolder2”, System.IO.Path.GetFileName(layer.PathFilename));
counter++;
}
}
}
wpfMap1.Refresh();
Then, I compared with the “CacheFolder1” and “CacheFolder2”, all of the tiles are matched

I think it is better if you can send us a concrete sample with your tif files and that will help us a lot to find out why they are not matched.
Btw, would you please try only one tiff file at first? I suspect if there is an order issue in your provide codes.
Any questions, please feel free to let us know.
Thanks,
Troy