BLAS with transform data causes DeviceLost?

I would like to use geometries with valid transformData in BLAS.
So I rewrote hello_vulkan.cpp in vk_ray_tracing__simple_KHR(https://github.com/nvpro-samples/vk_raytracing_tutorial_KHR) like this.

nvvk::RaytracingBuilderKHR::Blas HelloVulkan::objectToVkGeometryKHR(const ObjModel& model)
{
  // Setting up the creation info of acceleration structure
  vk::AccelerationStructureCreateGeometryTypeInfoKHR asCreate;
  asCreate.setGeometryType(vk::GeometryTypeKHR::eTriangles);
  asCreate.setIndexType(vk::IndexType::eUint32);
  asCreate.setVertexFormat(vk::Format::eR32G32B32Sfloat);
  asCreate.setMaxPrimitiveCount(model.nbIndices / 3);  // Nb triangles
  asCreate.setMaxVertexCount(model.nbVertices);
  asCreate.setAllowsTransforms(VK_FALSE);  // No adding transformation matrices

  // Building part
  vk::DeviceAddress vertexAddress = m_device.getBufferAddress({model.vertexBuffer.buffer});
  vk::DeviceAddress indexAddress  = m_device.getBufferAddress({model.indexBuffer.buffer});

  vk::AccelerationStructureGeometryTrianglesDataKHR triangles;
  triangles.setVertexFormat(asCreate.vertexFormat);
  triangles.setVertexData(vertexAddress);
  triangles.setVertexStride(sizeof(VertexObj));
  triangles.setIndexType(asCreate.indexType);
  triangles.setIndexData(indexAddress);
  triangles.setTransformData({});

  {
    asCreate.setAllowsTransforms(VK_TRUE);//test
    triangles.setTransformData(vertexAddress);//test, use vertexAddress for just valid address purpose, but content is not matrix.
  }

  // Setting up the build info of the acceleration
  vk::AccelerationStructureGeometryKHR asGeom;
  asGeom.setGeometryType(asCreate.geometryType);
  asGeom.setFlags(vk::GeometryFlagBitsKHR::eOpaque);
  asGeom.geometry.setTriangles(triangles);

  // The primitive itself
  vk::AccelerationStructureBuildOffsetInfoKHR offset;
  offset.setFirstVertex(0);
  offset.setPrimitiveCount(asCreate.maxPrimitiveCount);
  offset.setPrimitiveOffset(0);
  offset.setTransformOffset(0);

  // Our blas is only one geometry, but could be made of many geometries
  nvvk::RaytracingBuilderKHR::Blas blas;
  blas.asGeometry.emplace_back(asGeom);
  blas.asCreateGeometryInfo.emplace_back(asCreate);
  blas.asBuildOffsetInfo.emplace_back(offset);

  return blas;
}

But this change may cause DeviceLost at CommandPool::submitAndWait.
Then I changed maxScratch for buliding BLAS with following code in raytraceKHR_vk.hpp(181)

maxScratch *= 3;

It works well.

So my question is that the scratch size for building BLAS with transformData+allowsTransforms=true is correct?
If it is correct, how could I use geometry with transformData in BLAS without DeviceLost?

vulkan sdk: 1.2.135.0
driver: 443.09 DCH
os:windows 10

vulkan sdk: 1.2.135.0
driver: 443.15 DCH
gpu: GeForce RTX 2070
os: windows 10

This problem is not solved yet.