There's no need to have the declaration outside the synchronized.  You can just write

synchronized (_lock) {
  return new AsyncPoolStats(....);
}