Does 2 in the DBCC LOGINFO column "Status" mean it cannot be truncated?
According the the information in this MSDN forums answer by Sankar Reddy (and other posts when searching for DBCC loginfo status 2):


  Status = 2 means that VLF can't be reused (overwritten) at this time
  and it doesn't necessarily mean that VLF is still active and writing
  transactions to that VLF. It means that the VLF is waiting for
  backup/REPL/Mirroring etc...


Database Checkpoints (SQL Server)


  CHECKPOINT only truncates the transaction log (marks the VLF for
  reuse) only in simple recovery model. In Full recovery, you have to
  take log backup.


Understanding Logging and Recovery in SQL Server by Paul S. Randal